mirror of
https://port.numenaute.org/aleajactaest/khanat-opennel-code.git
synced 2024-11-10 09:19:01 +00:00
CDB no longer depends on Ryzom database banks.
--HG-- branch : cdb-refactoring
This commit is contained in:
parent
634739af81
commit
0b3eec581d
5 changed files with 21 additions and 23 deletions
|
@ -68,25 +68,25 @@ CCDBNodeBranch::CDBBranchObsInfo *CCDBNodeBranch::_NextNotifiedObs = NULL;
|
|||
uint CCDBNodeBranch::_CurrNotifiedObsList = 0;
|
||||
|
||||
// Mapping from server database index to client database index (first-level nodes)
|
||||
vector<uint> CCDBNodeBranch::_CDBBankToUnifiedIndexMapping [NB_CDB_BANKS];
|
||||
vector<uint> CCDBNodeBranch::_CDBBankToUnifiedIndexMapping [CDB_BANKS_MAX];
|
||||
|
||||
// Mapping from client database index to TCDBBank (first-level nodes)
|
||||
vector<TCDBBank> CCDBNodeBranch::_UnifiedIndexToBank;
|
||||
vector<uint> CCDBNodeBranch::_UnifiedIndexToBank;
|
||||
|
||||
// Last index mapped
|
||||
uint CCDBNodeBranch::_CDBLastUnifiedIndex = 0;
|
||||
|
||||
// Number of bits for first-level branches, by bank
|
||||
uint CCDBNodeBranch::_FirstLevelIdBitsByBank [NB_CDB_BANKS];
|
||||
uint CCDBNodeBranch::_FirstLevelIdBitsByBank [CDB_BANKS_MAX];
|
||||
|
||||
extern const char *CDBBankNames[INVALID_CDB_BANK+1];
|
||||
extern const char *CDBBankNames[CDB_BANK_INVALID+1];
|
||||
|
||||
std::vector< CCDBNodeBranch::IBranchObserverCallFlushObserver* > CCDBNodeBranch::flushObservers;
|
||||
|
||||
// reset all static data
|
||||
void CCDBNodeBranch::reset()
|
||||
{
|
||||
for ( uint b=0; b<NB_CDB_BANKS; ++b )
|
||||
for ( uint b=0; b<CDB_BANKS_MAX; ++b )
|
||||
_CDBBankToUnifiedIndexMapping[b].clear();
|
||||
_UnifiedIndexToBank.clear();
|
||||
_CDBLastUnifiedIndex = 0;
|
||||
|
@ -111,14 +111,14 @@ void CCDBNodeBranch::mapNodeByBank( ICDBNode * /* node */, const string& bankStr
|
|||
}
|
||||
else*/ // now clientOnly indices are known by the server as well
|
||||
{
|
||||
for ( uint b=0; b!=INVALID_CDB_BANK; ++b )
|
||||
for ( uint b=0; b!=CDB_BANK_INVALID; ++b )
|
||||
{
|
||||
if ( string(CDBBankNames[b]) == bankStr )
|
||||
{
|
||||
//nldebug( "CDB: Mapping %s.%u to Unified.%u", CDBBankNames[b], _CDBBankToUnifiedIndexMapping[b].size(), _CDBLastUnifiedIndex );
|
||||
_CDBBankToUnifiedIndexMapping[b].push_back( _CDBLastUnifiedIndex );
|
||||
++_CDBLastUnifiedIndex;
|
||||
_UnifiedIndexToBank.push_back( (TCDBBank)b );
|
||||
_UnifiedIndexToBank.push_back( b );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -270,7 +270,7 @@ void CCDBNodeBranch::init( xmlNodePtr node, NLMISC::IProgressCallback &progressC
|
|||
nlassertex( _UnifiedIndexToBank.size() == countNode, ("Mapped: %u Nodes: %u", _UnifiedIndexToBank.size(), countNode) );
|
||||
|
||||
_IdBits = 0;
|
||||
for ( uint b=0; b!=NB_CDB_BANKS; ++b )
|
||||
for ( uint b=0; b!=CDB_BANKS_MAX; ++b )
|
||||
{
|
||||
uint nbNodesOfBank = (uint)_CDBBankToUnifiedIndexMapping[b].size();
|
||||
uint idb = 0;
|
||||
|
@ -459,7 +459,7 @@ bool CCDBNodeBranch::setProp( CTextId& id, sint64 value )
|
|||
/*
|
||||
* Update the database from the delta, but map the first level with the bank mapping (see _CDBBankToUnifiedIndexMapping)
|
||||
*/
|
||||
void CCDBNodeBranch::readAndMapDelta( NLMISC::TGameCycle gc, NLMISC::CBitMemStream& s, TCDBBank bank )
|
||||
void CCDBNodeBranch::readAndMapDelta( NLMISC::TGameCycle gc, NLMISC::CBitMemStream& s, uint bank )
|
||||
{
|
||||
nlassert( ! isAtomic() ); // root node mustn't be atomic
|
||||
|
||||
|
|
|
@ -20,7 +20,11 @@
|
|||
#define CDB_BRANCH_H
|
||||
|
||||
#include "cdb.h"
|
||||
#include "game_share/ryzom_database_banks.h"
|
||||
|
||||
enum{
|
||||
CDB_BANKS_MAX = 3,
|
||||
CDB_BANK_INVALID
|
||||
};
|
||||
|
||||
/**
|
||||
* Database Node which contains a set of properties
|
||||
|
@ -99,7 +103,7 @@ public:
|
|||
void write( CTextId& id, FILE * f);
|
||||
|
||||
/// Update the database from the delta, but map the first level with the bank mapping (see _CDBBankToUnifiedIndexMapping)
|
||||
void readAndMapDelta( NLMISC::TGameCycle gc, NLMISC::CBitMemStream& s, TCDBBank bank );
|
||||
void readAndMapDelta( NLMISC::TGameCycle gc, NLMISC::CBitMemStream& s, uint bank );
|
||||
|
||||
/// Update the database from a stream coming from the FE
|
||||
void readDelta( NLMISC::TGameCycle gc, NLMISC::CBitMemStream & f );
|
||||
|
@ -125,7 +129,7 @@ public:
|
|||
void clear();
|
||||
|
||||
/// Reset the data corresponding to the bank (works only on top level node)
|
||||
void resetBank( NLMISC::TGameCycle gc, TCDBBank bank)
|
||||
void resetBank( NLMISC::TGameCycle gc, uint bank)
|
||||
{
|
||||
//nlassert( getParent() == NULL );
|
||||
for ( uint i=0; i!=_Nodes.size(); ++i )
|
||||
|
@ -323,16 +327,16 @@ protected:
|
|||
static CDBBranchObsInfo *_NextNotifiedObs;
|
||||
|
||||
/// Mapping from server database index to client database index (first-level nodes)
|
||||
static std::vector<uint> _CDBBankToUnifiedIndexMapping [NB_CDB_BANKS];
|
||||
static std::vector<uint> _CDBBankToUnifiedIndexMapping [CDB_BANKS_MAX];
|
||||
|
||||
// Mapping from client database index to TCDBBank (first-level nodes)
|
||||
static std::vector<TCDBBank> _UnifiedIndexToBank;
|
||||
static std::vector<uint> _UnifiedIndexToBank;
|
||||
|
||||
/// Last index mapped
|
||||
static uint _CDBLastUnifiedIndex;
|
||||
|
||||
/// Number of bits for first-level branches, by bank
|
||||
static uint _FirstLevelIdBitsByBank [NB_CDB_BANKS];
|
||||
static uint _FirstLevelIdBitsByBank [CDB_BANKS_MAX];
|
||||
|
||||
/// called by clear
|
||||
void removeAllBranchObserver();
|
||||
|
|
|
@ -16,9 +16,6 @@
|
|||
|
||||
|
||||
|
||||
#include "stdpch.h"
|
||||
|
||||
|
||||
//#define TRACE_READ_DELTA
|
||||
//#define TRACE_WRITE_DELTA
|
||||
//#define TRACE_SET_VALUE
|
||||
|
@ -31,7 +28,6 @@
|
|||
#include "cdb_leaf.h"
|
||||
#include "game_share/xml_auto_ptr.h"
|
||||
//#include <iostream.h>
|
||||
#include "interface_v3/interface_manager.h"
|
||||
|
||||
////////////////
|
||||
// Namespaces //
|
||||
|
|
|
@ -16,8 +16,6 @@
|
|||
|
||||
|
||||
|
||||
#include "stdpch.h"
|
||||
|
||||
//#define TRACE_READ_DELTA
|
||||
//#define TRACE_WRITE_DELTA
|
||||
//#define TRACE_SET_VALUE
|
||||
|
@ -175,7 +173,7 @@ void CCDBSynchronised::write( const string &fileName )
|
|||
// readDelta
|
||||
//
|
||||
//-----------------------------------------------
|
||||
void CCDBSynchronised::readDelta( NLMISC::TGameCycle gc, CBitMemStream& s, TCDBBank bank )
|
||||
void CCDBSynchronised::readDelta( NLMISC::TGameCycle gc, CBitMemStream& s, uint bank )
|
||||
{
|
||||
nldebug("Update DB");
|
||||
|
||||
|
|
|
@ -84,7 +84,7 @@ public:
|
|||
* Update the database from a stream coming from the FE
|
||||
* \param f the stream
|
||||
*/
|
||||
void readDelta( NLMISC::TGameCycle gc, NLMISC::CBitMemStream& s, TCDBBank bank );
|
||||
void readDelta( NLMISC::TGameCycle gc, NLMISC::CBitMemStream& s, uint bank );
|
||||
|
||||
/**
|
||||
* Return the value of a property (the update flag is set to false)
|
||||
|
|
Loading…
Reference in a new issue