// BlitzUtility - Expanding the normal Blitz functionality. // Copyright (C) 2015 Project Kube (Michael Fabian Dirks) // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU Lesser General Public License as // published by the Free Software Foundation, either version 3 of the // License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU Lesser General Public License // along with this program. If not, see . #pragma once #include #include #include "dllmain.h" // 67108864 = 2 ^ 32 / 64 #define INDEXER_INDEXES 67108864 /** Indexer structure helps with getting unique, unused Indexes (Ids). * Doing this natively would be too slow, so I'm using a DLL for this. */ struct IndexerV1 { uint64_t indexes[67108864]; uint32_t lastAssignedIndex; unsigned int GetFreeIndex(); void MarkFreeIndex(int index); };