mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-03-04 21:10:32 +00:00
db-cache -- implementation of datablock caching system.
This commit is contained in:
parent
169e539e47
commit
fec893cd8b
3 changed files with 492 additions and 1 deletions
|
|
@ -20,6 +20,11 @@
|
|||
// IN THE SOFTWARE.
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~//
|
||||
// Arcane-FX for MIT Licensed Open Source version of Torque 3D from GarageGames
|
||||
// Copyright (C) 2015 Faust Logic, Inc.
|
||||
//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~//
|
||||
|
||||
#ifndef _GAMECONNECTION_H_
|
||||
#define _GAMECONNECTION_H_
|
||||
|
||||
|
|
@ -55,6 +60,14 @@ class MoveList;
|
|||
struct Move;
|
||||
struct AuthInfo;
|
||||
|
||||
// To disable datablock caching, remove or comment out the AFX_CAP_DATABLOCK_CACHE define below.
|
||||
// Also, at a minimum, the following script preferences should be set to false:
|
||||
// $pref::Client::EnableDatablockCache = false; (in arcane.fx/client/defaults.cs)
|
||||
// $Pref::Server::EnableDatablockCache = false; (in arcane.fx/server/defaults.cs)
|
||||
// Alternatively, all script code marked with "DATABLOCK CACHE CODE" can be removed or
|
||||
// commented out.
|
||||
//
|
||||
#define AFX_CAP_DATABLOCK_CACHE
|
||||
const F32 MinCameraFov = 1.f; ///< min camera FOV
|
||||
const F32 MaxCameraFov = 179.f; ///< max camera FOV
|
||||
|
||||
|
|
@ -372,6 +385,31 @@ protected:
|
|||
DECLARE_CALLBACK( void, setLagIcon, (bool state) );
|
||||
DECLARE_CALLBACK( void, onDataBlocksDone, (U32 sequence) );
|
||||
DECLARE_CALLBACK( void, onFlash, (bool state) );
|
||||
|
||||
#ifdef AFX_CAP_DATABLOCK_CACHE
|
||||
private:
|
||||
static StringTableEntry server_cache_filename;
|
||||
static StringTableEntry client_cache_filename;
|
||||
static bool server_cache_on;
|
||||
static bool client_cache_on;
|
||||
BitStream* client_db_stream;
|
||||
U32 server_cache_CRC;
|
||||
public:
|
||||
void repackClientDatablock(BitStream*, S32 start_pos);
|
||||
void saveDatablockCache(bool on_server);
|
||||
void loadDatablockCache();
|
||||
bool loadDatablockCache_Begin();
|
||||
bool loadDatablockCache_Continue();
|
||||
void tempDisableStringBuffering(BitStream* bs) const;
|
||||
void restoreStringBuffering(BitStream* bs) const;
|
||||
void setServerCacheCRC(U32 crc) { server_cache_CRC = crc; }
|
||||
|
||||
static void resetDatablockCache();
|
||||
static bool serverCacheEnabled() { return server_cache_on; }
|
||||
static bool clientCacheEnabled() { return client_cache_on; }
|
||||
static const char* serverCacheFilename() { return server_cache_filename; }
|
||||
static const char* clientCacheFilename() { return client_cache_filename; }
|
||||
#endif
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue