#ifndef __API_INTERN__ #include "c4d_library.h" #include "c4d_memory.h" #include "c4d_general.h" #else #include "c4d_library.h" #include "ge_registry.h" #endif Bool InstallLibrary(Int32 id, C4DLibrary* lib, Int32 version, Int32 size) { lib->version = version; lib->size = size; return GeRegistryAdd(id, REGISTRYTYPE_LIBRARY, lib); } Bool UninstallLibrary(C4DLibrary* lib, Int32 version, Int32 size) { return true; } Bool IsLibraryInstalled(Int32 id) { Registry* reg = GeRegistryFind(id, REGISTRYTYPE_LIBRARY); if (!reg) return false; #ifndef __API_INTERN__ C4DLibrary* lib = (C4DLibrary*)reg->GetData(); #else C4DLibrary* lib = (C4DLibrary*)reg->data; #endif return lib != nullptr; } C4DLibrary* CheckLib(Int32 id, Int offset, C4DLibrary** store) { if (store && *store) return *store; Registry* reg = GeRegistryFind(id, REGISTRYTYPE_LIBRARY); if (!reg) return nullptr; #ifndef __API_INTERN__ C4DLibrary* lib = (C4DLibrary*)reg->GetData(); #else C4DLibrary* lib = (C4DLibrary*)reg->data; #endif if (!lib) return nullptr; if (store) *store = lib; // not the right version if (offset > lib->size) return nullptr; return lib; }