the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 36 lines 2.0 kB view raw
1#pragma once 2#include "RegionFile.h" 3#include "Reference.h" 4#include "File.h" 5 6class RegionFileCache 7{ 8 friend class ConsoleSaveFileOriginal; 9private: 10 static const int MAX_CACHE_SIZE = 256; 11 12 unordered_map<File, RegionFile *, FileKeyHash, FileKeyEq> cache; 13 14 static RegionFileCache s_defaultCache; 15 16public: 17 // Made public and non-static so we can have a cache for input and output files 18 RegionFileCache() {} 19 ~RegionFileCache(); 20 21 RegionFile *_getRegionFile(ConsoleSaveFile *saveFile, const wstring &prefix, int chunkX, int chunkZ); // 4J - TODO was synchronized 22 void _clear(); // 4J - TODO was synchronized 23 int _getSizeDelta(ConsoleSaveFile *saveFile, const wstring &prefix, int chunkX, int chunkZ); 24 DataInputStream *_getChunkDataInputStream(ConsoleSaveFile *saveFile, const wstring &prefix, int chunkX, int chunkZ); 25 DataOutputStream *_getChunkDataOutputStream(ConsoleSaveFile *saveFile, const wstring &prefix, int chunkX, int chunkZ); 26 27 // Keep static version for general game usage 28 static RegionFile *getRegionFile(ConsoleSaveFile *saveFile, const wstring &prefix, int chunkX, int chunkZ) { return s_defaultCache._getRegionFile(saveFile, prefix, chunkX, chunkZ); } 29 static void clear() { s_defaultCache._clear(); } 30 static int getSizeDelta(ConsoleSaveFile *saveFile, const wstring &prefix, int chunkX, int chunkZ) { return s_defaultCache._getSizeDelta(saveFile, prefix, chunkX, chunkZ); } 31 static DataInputStream *getChunkDataInputStream(ConsoleSaveFile *saveFile, const wstring &prefix, int chunkX, int chunkZ) { return s_defaultCache._getChunkDataInputStream(saveFile, prefix, chunkX, chunkZ); } 32 static DataOutputStream *getChunkDataOutputStream(ConsoleSaveFile *saveFile, const wstring &prefix, int chunkX, int chunkZ) { return s_defaultCache._getChunkDataOutputStream(saveFile, prefix, chunkX, chunkZ); } 33 34private: 35 bool useSplitSaves(ESavePlatform platform); 36};