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

remove lots of old object code

This commit is contained in:
Ted John
2016-07-02 18:01:51 +01:00
parent 2cade7dd13
commit a47c039f22
10 changed files with 81 additions and 1658 deletions

View File

@@ -658,6 +658,12 @@ extern "C"
return (void *)object;
}
void * object_repository_get_loaded_object(uint8 objectType, uint8 entryIndex)
{
int index = GetObjectEntryIndex(objectType, entryIndex);
return (void *)_loadedObjects[index];
}
void object_repository_unload(size_t itemIndex)
{
// TODO
@@ -758,6 +764,44 @@ extern "C"
return 1;
}
bool object_saved_packed(SDL_RWops * rw, const rct_object_entry * entry)
{
IObjectRepository * objectRepository = GetObjectRepository();
const ObjectRepositoryItem * item = objectRepository->FindObject(entry);
if (item == nullptr)
{
return false;
}
auto fs = FileStream(item->Path, FILE_MODE_OPEN);
rct_object_entry fileEntry = fs.ReadValue<rct_object_entry>();
if (!object_entry_compare(entry, &fileEntry))
{
return false;
}
sawyercoding_chunk_header chunkHeader = fs.ReadValue<sawyercoding_chunk_header>();
uint8 * chunkData = fs.ReadArray<uint8>(chunkHeader.length);
if (SDL_RWwrite(rw, entry, sizeof(rct_object_entry), 1) != 1)
{
Memory::Free(chunkData);
return false;
}
if (SDL_RWwrite(rw, &chunkHeader, sizeof(sawyercoding_chunk_header), 1) != 1)
{
Memory::Free(chunkData);
return false;
}
if (SDL_RWwrite(rw, chunkData, chunkHeader.length, 1) != 1)
{
Memory::Free(chunkData);
return false;
}
return true;
}
size_t object_repository_get_items_count()
{
IObjectRepository * objectRepository = GetObjectRepository();
@@ -778,9 +822,12 @@ extern "C"
void object_delete(void * object)
{
Object * baseObject = (Object *)object;
baseObject->Unload();
delete baseObject;
if (object != nullptr)
{
Object * baseObject = (Object *)object;
baseObject->Unload();
delete baseObject;
}
}
const utf8 * object_get_description(const void * object)