1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-15 11:03:00 +01:00

Integrate research globals

This commit is contained in:
Ted John
2016-08-14 16:16:54 +01:00
parent 13ef119c0f
commit 4e7bce99e6
3 changed files with 49 additions and 39 deletions

View File

@@ -208,7 +208,6 @@
#define RCT2_ADDRESS_SPRITE_LISTS_HEAD 0x013573BC
#define RCT2_ADDRESS_SPRITE_LISTS_COUNT 0x013573C8
#define RCT2_ADDRESS_LOAN_HASH 0x013587C4
#define RCT2_ADDRESS_LAST_RESEARCHED_ITEM_SUBJECT 0x01357CF4
#define RCT2_ADDRESS_CURRENT_PARK_VALUE 0x0135853C
#define RCT2_ADDRESS_AWARD_LIST 0x01358760
#define RCT2_ADDRESS_SAME_PRICE_THROUGHOUT 0x01358838
@@ -220,21 +219,9 @@
#define RCT2_ADDRESS_PEEP_SPAWNS 0x013573F2
#define RCT2_ADDRESS_CURRENT_RESEARCH_LEVEL 0x013573FF
#define RCT2_ADDRESS_HANDYMAN_COLOUR 0x01357BCD
#define RCT2_ADDRESS_MECHANIC_COLOUR 0x01357BCE
#define RCT2_ADDRESS_SECURITY_COLOUR 0x01357BCF
#define RCT2_ADDRESS_RESEARCHED_SCENERY_ITEMS 0x01357BD0
#define RCT2_ADDRESS_ACTIVE_RESEARCH_TYPES 0x01357CF2
#define RCT2_ADDRESS_RESEARH_PROGRESS_STAGE 0x01357CF3
#define RCT2_ADDRESS_NEXT_RESEARCH_ITEM 0x013580E0
#define RCT2_ADDRESS_RESEARH_PROGRESS 0x013580E4
#define RCT2_ADDRESS_NEXT_RESEARCH_CATEGORY 0x013580E6
#define RCT2_ADDRESS_NEXT_RESEARCH_EXPECTED_DAY 0x013580E7
#define RCT2_ADDRESS_NEXT_RESEARCH_EXPECTED_MONTH 0x013580E8
#define RCT2_ADDRESS_MAP_SIZE_UNITS 0x01358830
#define RCT2_ADDRESS_MAP_SIZE_MINUS_2 0x01358832
@@ -245,7 +232,6 @@
#define RCT2_TOTAL_RIDE_VALUE 0x013580EE
#define RCT2_ADDRESS_PARK_RATING_WARNING_DAYS 0x0135883E
#define RCT2_RESEARCH_ITEMS 0x01358844
#define RCT2_ADDRESS_SCENARIO_NAME 0x0135920A
#define RCT2_ADDRESS_SCENARIO_DETAILS 0x0135924A
@@ -257,10 +243,6 @@
#define RCT2_ADDRESS_CURRENT_TICKS 0x013628F4
#define RCT2_ADDRESS_RIDE_LIST 0x013628F8
#define RCT2_ADDRESS_RESEARCHED_RIDE_TYPES 0x01357404
#define RCT2_ADDRESS_RESEARCHED_RIDE_ENTRIES 0x01357424
#define RCT2_ADDRESS_RESEARCHED_TRACK_TYPES_A 0x01357444
#define RCT2_ADDRESS_RESEARCHED_TRACK_TYPES_B 0x01357644
#define RCT2_ADDRESS_RIDE_COUNT 0x013587C8
#define RCT2_ADDRESS_RIDE_FLAGS 0x0097CF40
@@ -590,6 +572,24 @@
#define RCT2_ADDRESS_GUEST_INITIAL_HUNGER 0x013580F6
#define RCT2_ADDRESS_GUEST_INITIAL_THIRST 0x013580F7
#define RCT2_ADDRESS_CURRENT_RESEARCH_LEVEL 0x013573FF
#define RCT2_ADDRESS_ACTIVE_RESEARCH_TYPES 0x01357CF2
#define RCT2_ADDRESS_RESEARH_PROGRESS_STAGE 0x01357CF3
#define RCT2_ADDRESS_LAST_RESEARCHED_ITEM_SUBJECT 0x01357CF4
#define RCT2_ADDRESS_NEXT_RESEARCH_ITEM 0x013580E0
#define RCT2_ADDRESS_RESEARH_PROGRESS 0x013580E4
#define RCT2_ADDRESS_NEXT_RESEARCH_CATEGORY 0x013580E6
#define RCT2_ADDRESS_NEXT_RESEARCH_EXPECTED_DAY 0x013580E7
#define RCT2_ADDRESS_NEXT_RESEARCH_EXPECTED_MONTH 0x013580E8
#define RCT2_RESEARCH_ITEMS 0x01358844
#define RCT2_ADDRESS_RESEARCHED_RIDE_TYPES 0x01357404
#define RCT2_ADDRESS_RESEARCHED_RIDE_ENTRIES 0x01357424
#define RCT2_ADDRESS_RESEARCHED_TRACK_TYPES_A 0x01357444
#define RCT2_ADDRESS_RESEARCHED_TRACK_TYPES_B 0x01357644
#define RCT2_ADDRESS_RESEARCHED_SCENERY_ITEMS 0x01357BD0
#define RCT2_ADDRESS_CLIMATE 0x013CA746
#define RCT2_ADDRESS_CURRENT_WEATHER 0x013CA74A
#define RCT2_ADDRESS_NEXT_WEATHER 0x013CA74B

View File

@@ -33,17 +33,27 @@
const int _researchRate[] = { 0, 160, 250, 400 };
uint8 gResearchFundingLevel;
uint8 gResearchPriorities;
uint16 gResearchProgress;
uint8 gResearchProgressStage;
uint32 gResearchLastItemSubject;
uint8 gResearchExpectedMonth;
uint8 gResearchExpectedDay;
uint8 gResearchNextCategory;
uint32 gResearchNextItem;
// 0x01358844[500]
rct_research_item *gResearchItems = RCT2_ADDRESS(RCT2_RESEARCH_ITEMS, rct_research_item);
rct_research_item gResearchItems[500];
// 0x00EE787C
uint8 gResearchUncompletedCategories;
uint32 *gResearchedRideTypes = RCT2_ADDRESS(RCT2_ADDRESS_RESEARCHED_RIDE_TYPES, uint32);
uint32 *gResearchedRideEntries = RCT2_ADDRESS(RCT2_ADDRESS_RESEARCHED_RIDE_ENTRIES, uint32);
uint32 *gResearchedTrackTypesA = RCT2_ADDRESS(RCT2_ADDRESS_RESEARCHED_TRACK_TYPES_A, uint32);
uint32 *gResearchedTrackTypesB = RCT2_ADDRESS(RCT2_ADDRESS_RESEARCHED_TRACK_TYPES_B, uint32);
uint32 *gResearchedSceneryItems = RCT2_ADDRESS(RCT2_ADDRESS_RESEARCHED_SCENERY_ITEMS, uint32);
uint32 gResearchedRideTypes[8];
uint32 gResearchedRideEntries[8];
uint32 gResearchedTrackTypesA[128];
uint32 gResearchedTrackTypesB[128];
uint32 gResearchedSceneryItems[56];
bool gSilentResearch = false;

View File

@@ -65,23 +65,23 @@ enum {
RESEARCH_CATEGORY_SCENERYSET
};
#define gResearchFundingLevel RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_RESEARCH_LEVEL, uint8)
#define gResearchPriorities RCT2_GLOBAL(RCT2_ADDRESS_ACTIVE_RESEARCH_TYPES, uint8)
#define gResearchProgress RCT2_GLOBAL(RCT2_ADDRESS_RESEARH_PROGRESS, uint16)
#define gResearchProgressStage RCT2_GLOBAL(RCT2_ADDRESS_RESEARH_PROGRESS_STAGE, uint8)
#define gResearchLastItemSubject RCT2_GLOBAL(RCT2_ADDRESS_LAST_RESEARCHED_ITEM_SUBJECT, uint32)
#define gResearchExpectedMonth RCT2_GLOBAL(RCT2_ADDRESS_NEXT_RESEARCH_EXPECTED_MONTH, uint8)
#define gResearchExpectedDay RCT2_GLOBAL(RCT2_ADDRESS_NEXT_RESEARCH_EXPECTED_DAY, uint8)
#define gResearchNextCategory RCT2_GLOBAL(RCT2_ADDRESS_NEXT_RESEARCH_CATEGORY, uint8)
#define gResearchNextItem RCT2_GLOBAL(RCT2_ADDRESS_NEXT_RESEARCH_ITEM, uint32)
extern uint8 gResearchFundingLevel;
extern uint8 gResearchPriorities;
extern uint16 gResearchProgress;
extern uint8 gResearchProgressStage;
extern uint32 gResearchLastItemSubject;
extern uint8 gResearchExpectedMonth;
extern uint8 gResearchExpectedDay;
extern uint8 gResearchNextCategory;
extern uint32 gResearchNextItem;
extern rct_research_item *gResearchItems;
extern rct_research_item gResearchItems[500];
extern uint8 gResearchUncompletedCategories;
extern uint32 *gResearchedRideTypes;
extern uint32 *gResearchedRideEntries;
extern uint32 *gResearchedTrackTypesA;
extern uint32 *gResearchedTrackTypesB;
extern uint32 *gResearchedSceneryItems;
extern uint32 gResearchedRideTypes[8];
extern uint32 gResearchedRideEntries[8];
extern uint32 gResearchedTrackTypesA[128];
extern uint32 gResearchedTrackTypesB[128];
extern uint32 gResearchedSceneryItems[56];
extern bool gSilentResearch;
void research_reset_items();