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

get title screen loading correctly

This commit is contained in:
Ted John
2016-06-26 00:48:11 +01:00
parent 25af7d346c
commit d7575732fb
2 changed files with 33 additions and 2 deletions

View File

@@ -338,6 +338,19 @@ IObjectRepository * GetObjectRepository()
return _objectRepository;
}
Object * _loadedObjects[721] = { nullptr };
int GetObjectEntryIndex(uint8 objectType, uint8 entryIndex)
{
int result = 0;
for (uint8 i = 0; i < objectType; i++)
{
result += object_entry_group_counts[i];
}
result += entryIndex;
return result;
}
extern "C"
{
void object_list_load()
@@ -378,10 +391,28 @@ extern "C"
Memory::Copy<void>(extendedEntry, object->GetObjectEntry(), sizeof(rct_object_entry));
extendedEntry->chunk_size = 0;
object->Load();
int loadedObjectIndex = GetObjectEntryIndex(objectType, groupIndex);
delete _loadedObjects[loadedObjectIndex];
_loadedObjects[loadedObjectIndex] = object;
return 1;
}
void reset_loaded_objects()
{
reset_type_to_ride_entry_index_map();
gTotalNoImages = 0xF26E;
for (int i = 0; i < 721; i++)
{
Object * object = _loadedObjects[i];
if (object != nullptr)
{
object->Load();
}
}
}
void scenario_translate(scenario_index_entry * scenarioEntry, const rct_object_entry * stexObjectEntry)
{
rct_string_id localisedStringIds[3];

View File

@@ -226,7 +226,7 @@ static void object_list_examine()
*
* rct2: 0x006A9FC0
*/
void reset_loaded_objects()
void reset_loaded_objects_old()
{
reset_type_to_ride_entry_index_map();