From f81f348d6492ccafd2b170d44e973af6e6b7d753 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Wed, 13 Nov 2019 10:09:28 +0800 Subject: [PATCH] Remove sound sheet workaround --- code/nel/src/misc/sheet_id.cpp | 337 ++++++++++++++------------------- 1 file changed, 146 insertions(+), 191 deletions(-) diff --git a/code/nel/src/misc/sheet_id.cpp b/code/nel/src/misc/sheet_id.cpp index 2dd895153..ecbe84089 100644 --- a/code/nel/src/misc/sheet_id.cpp +++ b/code/nel/src/misc/sheet_id.cpp @@ -30,35 +30,30 @@ using namespace std; #ifdef DEBUG_NEW - #define new DEBUG_NEW +#define new DEBUG_NEW #endif -namespace NLMISC { +namespace NLMISC +{ CSheetId::CChar CSheetId::_AllStrings; -CStaticMap CSheetId::_SheetIdToName; -CStaticMap CSheetId::_SheetNameToId; +CStaticMap CSheetId::_SheetIdToName; +CStaticMap CSheetId::_SheetNameToId; //map CSheetId::_SheetIdToName; //map CSheetId::_SheetNameToId; vector CSheetId::_FileExtensions; -bool CSheetId::_Initialised=false; -bool CSheetId::_RemoveUnknownSheet=true; +bool CSheetId::_Initialised = false; +bool CSheetId::_RemoveUnknownSheet = true; bool CSheetId::_DontHaveSheetKnowledge = false; std::map CSheetId::_DevTypeNameToId; -std::vector > CSheetId::_DevSheetIdToName; +std::vector> CSheetId::_DevSheetIdToName; std::map CSheetId::_DevSheetNameToId; -#define NL_TEMP_YUBO_NO_SOUND_SHEET_ID - -#ifdef NL_TEMP_YUBO_NO_SOUND_SHEET_ID -namespace { bool a_NoSoundSheetId = false; const uint32 a_NoSoundSheetType = 80; } -#endif - const CSheetId CSheetId::Unknown(0); -void CSheetId::cbFileChange (const std::string &filename) +void CSheetId::cbFileChange(const std::string &filename) { - nlinfo ("SHEETID: %s changed, reload it", filename.c_str()); + nlinfo("SHEETID: %s changed, reload it", filename.c_str()); loadSheetId(); } @@ -67,14 +62,14 @@ void CSheetId::cbFileChange (const std::string &filename) // CSheetId // //----------------------------------------------- -CSheetId::CSheetId( uint32 sheetRef) +CSheetId::CSheetId(uint32 sheetRef) { _Id.Id = sheetRef; #ifdef NL_DEBUG_SHEET_ID // Yoyo: don't access the static map, because of order of static ctor call. // For now, all static CSheetId are 0 (eg: CSheetId::Unknown) - if(sheetRef) + if (sheetRef) { CStaticMap::iterator it(_SheetIdToName.find(sheetRef)); if (it != _SheetIdToName.end()) @@ -91,19 +86,18 @@ CSheetId::CSheetId( uint32 sheetRef) #endif } - //----------------------------------------------- // CSheetId // //----------------------------------------------- -CSheetId::CSheetId( const string& sheetName ) +CSheetId::CSheetId(const string &sheetName) { if (!buildSheetId(sheetName)) { - if(sheetName.empty()) + if (sheetName.empty()) nlwarning("SHEETID: Try to create an CSheetId with empty name. TODO: check why."); else - nlwarning("SHEETID: The sheet '%s' is not in sheet_id.bin, setting it to Unknown",sheetName.c_str()); + nlwarning("SHEETID: The sheet '%s' is not in sheet_id.bin, setting it to Unknown", sheetName.c_str()); //std::string stack; //NLMISC::getCallStack(stack); //std::vector contexts; @@ -118,11 +112,11 @@ CSheetId::CSheetId( const string& sheetName ) } // CSheetId // -CSheetId::CSheetId( const std::string& sheetName, const std::string &defaultType ) +CSheetId::CSheetId(const std::string &sheetName, const std::string &defaultType) { // Don't use this function without defaultType, use the one above. nlassert(defaultType.size() != 0); - + if (sheetName.rfind('.') == std::string::npos) { std::string withType = sheetName + "." + defaultType; @@ -135,15 +129,14 @@ CSheetId::CSheetId( const std::string& sheetName, const std::string &defaultType } } - //----------------------------------------------- // Build // //----------------------------------------------- -bool CSheetId::buildSheetId(const std::string& sheetName) +bool CSheetId::buildSheetId(const std::string &sheetName) { nlassert(_Initialised); - + // When no sheet_id.bin is loaded, use dynamically assigned IDs. if (_DontHaveSheetKnowledge) { @@ -188,15 +181,15 @@ bool CSheetId::buildSheetId(const std::string& sheetName) } // try looking up the sheet name in _SheetNameToId - CStaticMap::const_iterator itId; + CStaticMap::const_iterator itId; CChar c; - c.Ptr = new char [sheetName.size()+1]; + c.Ptr = new char[sheetName.size() + 1]; strcpy(c.Ptr, sheetName.c_str()); toLower(c.Ptr); - itId = _SheetNameToId.find (c); - delete [] c.Ptr; - if( itId != _SheetNameToId.end() ) + itId = _SheetNameToId.find(c); + delete[] c.Ptr; + if (itId != _SheetNameToId.end()) { _Id.Id = itId->second; #ifdef NL_DEBUG_SHEET_ID @@ -207,40 +200,21 @@ bool CSheetId::buildSheetId(const std::string& sheetName) } // we failed to find the sheet name in the sheetname map so see if the string is numeric - if (sheetName.size()>1 && sheetName[0]=='#') + if (sheetName.size() > 1 && sheetName[0] == '#') { uint32 numericId; - NLMISC::fromString((const char*)(sheetName.c_str()+1), numericId); - if (NLMISC::toString("#%u",numericId)==sheetName) - { - _Id.Id= numericId; - return true; - } - } - -#ifdef NL_TEMP_YUBO_NO_SOUND_SHEET_ID - if (a_NoSoundSheetId && sheetName.find(".sound") != std::string::npos) - { - std::string sheetNameLc = toLower(sheetName); - std::map::iterator it = _DevSheetNameToId.find(sheetNameLc); - if (it == _DevSheetNameToId.end()) + NLMISC::fromString((const char *)(sheetName.c_str() + 1), numericId); + if (NLMISC::toString("#%u", numericId) == sheetName) { - // nldebug("SHEETID: Creating a temporary sheet id for '%s'", sheetName.c_str()); - _DevSheetIdToName[0].push_back(sheetName); - _Id.IdInfos.Type = a_NoSoundSheetType; - _Id.IdInfos.Id = _DevSheetIdToName[0].size() - 1; - _DevSheetNameToId[sheetNameLc] = _Id.Id; + _Id.Id = numericId; return true; } - _Id.Id = it->second; - return true; } -#endif return false; } -void CSheetId::loadSheetId () +void CSheetId::loadSheetId() { H_AUTO(CSheetIdInit); //nldebug("Loading sheet_id.bin"); @@ -248,18 +222,18 @@ void CSheetId::loadSheetId () // Open the sheet id to sheet file name association CIFile file; std::string path = CPath::lookup("sheet_id.bin", false, false); - if(!path.empty() && file.open(path)) + if (!path.empty() && file.open(path)) { // clear entries - _FileExtensions.clear (); - _SheetIdToName.clear (); - _SheetNameToId.clear (); + _FileExtensions.clear(); + _SheetIdToName.clear(); + _SheetNameToId.clear(); // reserve space for the vector of file extensions _FileExtensions.resize(1 << (NL_SHEET_ID_TYPE_BITS)); // Get the map from the file - map tempMap; + map tempMap; contReset(tempMap); file.serialCont(tempMap); file.close(); @@ -270,23 +244,23 @@ void CSheetId::loadSheetId () uint32 nbfiles = (uint32)tempMap.size(); // now we remove all files that not available - map::iterator itStr2; - for( itStr2 = tempMap.begin(); itStr2 != tempMap.end(); ) + map::iterator itStr2; + for (itStr2 = tempMap.begin(); itStr2 != tempMap.end();) { - if (CPath::exists ((*itStr2).second)) + if (CPath::exists((*itStr2).second)) { ++itStr2; } else { - map::iterator olditStr = itStr2; + map::iterator olditStr = itStr2; //nldebug ("Removing file '%s' from CSheetId because the file not exists", (*olditStr).second.c_str ()); itStr2++; - tempMap.erase (olditStr); + tempMap.erase(olditStr); removednbfiles++; } } - nlinfo ("SHEETID: Removed %d files on %d from CSheetId because these files don't exist", removednbfiles, nbfiles); + nlinfo("SHEETID: Removed %d files on %d from CSheetId because these files don't exist", removednbfiles, nbfiles); } // Convert the map to one big string and 1 static map (id to name) @@ -295,10 +269,10 @@ void CSheetId::loadSheetId () vector tempVec; // Used to initialise the first map uint32 nNb = 0; uint32 nSize = 0; - map::const_iterator it = tempMap.begin(); + map::const_iterator it = tempMap.begin(); while (it != tempMap.end()) { - nSize += (uint32)it->second.size()+1; + nSize += (uint32)it->second.size() + 1; nNb++; it++; } @@ -311,10 +285,10 @@ void CSheetId::loadSheetId () nNb = 0; while (it != tempMap.end()) { - tempVec[nNb].Ptr = _AllStrings.Ptr+nSize; - strcpy(_AllStrings.Ptr+nSize, it->second.c_str()); - toLower(_AllStrings.Ptr+nSize); - nSize += (uint32)it->second.size()+1; + tempVec[nNb].Ptr = _AllStrings.Ptr + nSize; + strcpy(_AllStrings.Ptr + nSize, it->second.c_str()); + toLower(_AllStrings.Ptr + nSize); + nSize += (uint32)it->second.size() + 1; nNb++; it++; } @@ -339,15 +313,15 @@ void CSheetId::loadSheetId () { uint32 nSize = (uint32)_SheetIdToName.size(); _SheetNameToId.reserve(nSize); - CStaticMap::iterator itStr; - for( itStr = _SheetIdToName.begin(); itStr != _SheetIdToName.end(); ++itStr ) + CStaticMap::iterator itStr; + for (itStr = _SheetIdToName.begin(); itStr != _SheetIdToName.end(); ++itStr) { // add entry to the inverse map - _SheetNameToId.add( make_pair((*itStr).second, (*itStr).first) ); + _SheetNameToId.add(make_pair((*itStr).second, (*itStr).first)); // work out the type value for this entry in the map TSheetId sheetId; - sheetId.Id=(*itStr).first; + sheetId.Id = (*itStr).first; uint32 type = sheetId.IdInfos.Type; // check whether we need to add an entry to the file extensions vector @@ -365,10 +339,9 @@ void CSheetId::loadSheetId () { nlerror(" Can't open the file sheet_id.bin"); } - nldebug("Finished loading sheet_id.bin: %u entries read",_SheetIdToName.size()); + nldebug("Finished loading sheet_id.bin: %u entries read", _SheetIdToName.size()); } - //----------------------------------------------- // init // @@ -383,30 +356,12 @@ void CSheetId::init(bool removeUnknownSheet) return; } -// CFile::addFileChangeCallback ("sheet_id.bin", cbFileChange); + // CFile::addFileChangeCallback ("sheet_id.bin", cbFileChange); _RemoveUnknownSheet = removeUnknownSheet; - loadSheetId (); - _Initialised=true; - -#ifdef NL_TEMP_YUBO_NO_SOUND_SHEET_ID - if (typeFromFileExtension("sound") == std::numeric_limits::max()) - { - nlwarning("SHEETID: Loading without known sound sheet id, please update sheet_id.bin with .sound sheets"); - nlassert(_FileExtensions.size() == 1 << (NL_SHEET_ID_TYPE_BITS)); - nlassert(_FileExtensions[a_NoSoundSheetType].empty()); - _FileExtensions[a_NoSoundSheetType] = "sound"; - _DevSheetIdToName.push_back(std::vector()); - _DevSheetIdToName[0].push_back("unknown.sound"); - TSheetId id; - id.IdInfos.Type = a_NoSoundSheetType; - id.IdInfos.Id = _DevSheetIdToName[0].size() - 1; - nlassert(id.IdInfos.Id == 0); - _DevSheetNameToId["unknown.sound"] = id.Id; - a_NoSoundSheetId = true; - } -#endif + loadSheetId(); + _Initialised = true; } // init // @@ -422,19 +377,17 @@ void CSheetId::initWithoutSheet() _DontHaveSheetKnowledge = true; // Initialize id 0,0 as unknown.unknown - CSheetId unknownunknown = CSheetId("unknown.unknown"); - nlassert(unknownunknown == CSheetId::Unknown); + CSheetId unknownUnknown = CSheetId("unknown.unknown"); + nlassert(unknownUnknown == CSheetId::Unknown); } - - //----------------------------------------------- // uninit // //----------------------------------------------- void CSheetId::uninit() { - delete [] _AllStrings.Ptr; + delete[] _AllStrings.Ptr; _FileExtensions.clear(); _DevTypeNameToId.clear(); _DevSheetIdToName.clear(); @@ -445,11 +398,12 @@ void CSheetId::uninit() // operator= // //----------------------------------------------- -CSheetId& CSheetId::operator=( const CSheetId& sheetId ) +CSheetId &CSheetId::operator=(const CSheetId &sheetId) { - if (!_Initialised) init(false); + if (!_Initialised) + init(false); - if(this == &sheetId) + if (this == &sheetId) { return *this; } @@ -460,17 +414,15 @@ CSheetId& CSheetId::operator=( const CSheetId& sheetId ) _DebugSheetName = sheetId._DebugSheetName; #endif - return *this; - + return *this; } // operator= // - //----------------------------------------------- // operator= // //----------------------------------------------- -CSheetId& CSheetId::operator=( const string& sheetName ) +CSheetId &CSheetId::operator=(const string &sheetName) { if (!buildSheetId(sheetName)) @@ -482,14 +434,14 @@ CSheetId& CSheetId::operator=( const string& sheetName ) } // operator= // - //----------------------------------------------- // operator= // //----------------------------------------------- -CSheetId& CSheetId::operator=( uint32 sheetRef ) +CSheetId &CSheetId::operator=(uint32 sheetRef) { - if (!_Initialised) init(false); + if (!_Initialised) + init(false); _Id.Id = sheetRef; @@ -497,15 +449,14 @@ CSheetId& CSheetId::operator=( uint32 sheetRef ) } // operator= // - - //----------------------------------------------- // operator< // //----------------------------------------------- -bool CSheetId::operator < (const CSheetId& sheetRef ) const +bool CSheetId::operator<(const CSheetId &sheetRef) const { - if (!_Initialised) init(false); + if (!_Initialised) + init(false); if (_Id.Id < sheetRef.asInt()) { @@ -516,56 +467,62 @@ bool CSheetId::operator < (const CSheetId& sheetRef ) const } // operator< // - - //----------------------------------------------- // toString // //----------------------------------------------- string CSheetId::toString(bool ifNotFoundUseNumericId) const { - if (!_Initialised) init(false); + if (!_Initialised) + init(false); if (_DontHaveSheetKnowledge) { - // FIXME: When someone punches in a fake sheet id this will - // fail. - return _DevSheetIdToName[_Id.IdInfos.Type][_Id.IdInfos.Id]; + if (_Id.IdInfos.Type < _DevSheetIdToName.size() + && _Id.IdInfos.Id < _DevSheetIdToName[_Id.IdInfos.Type].size()) + { + return _DevSheetIdToName[_Id.IdInfos.Type][_Id.IdInfos.Id]; + } + else + { + if (ifNotFoundUseNumericId) + { + return NLMISC::toString("#%u", _Id.Id); + } + else + { + return NLMISC::toString("", _Id.Id); + } + } } - CStaticMap::const_iterator itStr = _SheetIdToName.find (_Id.Id); - if( itStr != _SheetIdToName.end() ) + CStaticMap::const_iterator itStr = _SheetIdToName.find(_Id.Id); + if (itStr != _SheetIdToName.end()) { return string((*itStr).second.Ptr); } else { -#ifdef NL_TEMP_YUBO_NO_SOUND_SHEET_ID - if (a_NoSoundSheetId && _Id.IdInfos.Type == a_NoSoundSheetType) - { - return _DevSheetIdToName[0][_Id.IdInfos.Id]; - } -#endif // This nlwarning is commented out because the loggers are mutexed, therefore // you couldn't use toString() within a nlwarning(). //nlwarning(" The sheet %08x is not in sheet_id.bin",_Id.Id); if (ifNotFoundUseNumericId) { - return NLMISC::toString( "#%u", _Id.Id ); + return NLMISC::toString("#%u", _Id.Id); } else { - return NLMISC::toString( "", _Id.Id ); + return NLMISC::toString("", _Id.Id); } } } // toString // -void CSheetId::serial(NLMISC::IStream &f) +void CSheetId::serial(NLMISC::IStream &f) { nlassert(!_DontHaveSheetKnowledge); - f.serial( _Id.Id ); + f.serial(_Id.Id); #ifdef NL_DEBUG_SHEET_ID CStaticMap::iterator it(_SheetIdToName.find(_Id.Id)); @@ -579,7 +536,7 @@ void CSheetId::serial(NLMISC::IStream &f) void CSheetId::serialString(NLMISC::IStream &f, const std::string &defaultType) { nlassert(_Initialised); - + if (f.isReading()) { std::string sheetName; @@ -595,90 +552,88 @@ void CSheetId::serialString(NLMISC::IStream &f, const std::string &defaultType) } } - //----------------------------------------------- // display // //----------------------------------------------- void CSheetId::display() { - if (!_Initialised) init(false); + if (!_Initialised) + init(false); - CStaticMap::const_iterator itStr; - for( itStr = _SheetIdToName.begin(); itStr != _SheetIdToName.end(); ++itStr ) + CStaticMap::const_iterator itStr; + for (itStr = _SheetIdToName.begin(); itStr != _SheetIdToName.end(); ++itStr) { //nlinfo("%d %s",(*itStr).first,(*itStr).second.c_str()); - nlinfo("SHEETID: (%08x %d) %s",(*itStr).first,(*itStr).first,(*itStr).second.Ptr); + nlinfo("SHEETID: (%08x %d) %s", (*itStr).first, (*itStr).first, (*itStr).second.Ptr); } } // display // - - //----------------------------------------------- // display // //----------------------------------------------- void CSheetId::display(uint32 type) { - if (!_Initialised) init(false); + if (!_Initialised) + init(false); - CStaticMap::const_iterator itStr; - for( itStr = _SheetIdToName.begin(); itStr != _SheetIdToName.end(); ++itStr ) + CStaticMap::const_iterator itStr; + for (itStr = _SheetIdToName.begin(); itStr != _SheetIdToName.end(); ++itStr) { // work out the type value for this entry in the map TSheetId sheetId; - sheetId.Id=(*itStr).first; + sheetId.Id = (*itStr).first; // decide whether or not to display the entry - if (type==sheetId.IdInfos.Type) + if (type == sheetId.IdInfos.Type) { //nlinfo("%d %s",(*itStr).first,(*itStr).second.c_str()); - nlinfo("SHEETID: (%08x %d) %s",(*itStr).first,(*itStr).first,(*itStr).second.Ptr); + nlinfo("SHEETID: (%08x %d) %s", (*itStr).first, (*itStr).first, (*itStr).second.Ptr); } } } // display // - - //----------------------------------------------- // buildIdVector // //----------------------------------------------- -void CSheetId::buildIdVector(std::vector &result) +void CSheetId::buildIdVector(std::vector &result) { - if (!_Initialised) init(false); + if (!_Initialised) + init(false); - CStaticMap::const_iterator itStr; - for( itStr = _SheetIdToName.begin(); itStr != _SheetIdToName.end(); ++itStr ) + CStaticMap::const_iterator itStr; + for (itStr = _SheetIdToName.begin(); itStr != _SheetIdToName.end(); ++itStr) { - result.push_back( (CSheetId)(*itStr).first ); + result.push_back((CSheetId)(*itStr).first); } } // buildIdVector // - //----------------------------------------------- // buildIdVector // //----------------------------------------------- -void CSheetId::buildIdVector(std::vector &result, uint32 type) +void CSheetId::buildIdVector(std::vector &result, uint32 type) { - if (!_Initialised) init(false); + if (!_Initialised) + init(false); nlassert(type < (1 << (NL_SHEET_ID_TYPE_BITS))); - CStaticMap::const_iterator itStr; - for( itStr = _SheetIdToName.begin(); itStr != _SheetIdToName.end(); ++itStr ) + CStaticMap::const_iterator itStr; + for (itStr = _SheetIdToName.begin(); itStr != _SheetIdToName.end(); ++itStr) { // work out the type value for this entry in the map TSheetId sheetId; - sheetId.Id=(*itStr).first; + sheetId.Id = (*itStr).first; // decide whether or not to use the entry - if (type==sheetId.IdInfos.Type) + if (type == sheetId.IdInfos.Type) { - result.push_back( (CSheetId)sheetId.Id ); + result.push_back((CSheetId)sheetId.Id); } } @@ -688,23 +643,24 @@ void CSheetId::buildIdVector(std::vector &result, uint32 type) // buildIdVector // //----------------------------------------------- -void CSheetId::buildIdVector(std::vector &result, std::vector &resultFilenames,uint32 type) +void CSheetId::buildIdVector(std::vector &result, std::vector &resultFilenames, uint32 type) { - if (!_Initialised) init(false); + if (!_Initialised) + init(false); nlassert(type < (1 << (NL_SHEET_ID_TYPE_BITS))); - CStaticMap::const_iterator itStr; - for( itStr = _SheetIdToName.begin(); itStr != _SheetIdToName.end(); ++itStr ) + CStaticMap::const_iterator itStr; + for (itStr = _SheetIdToName.begin(); itStr != _SheetIdToName.end(); ++itStr) { // work out the type value for this entry in the map TSheetId sheetId; - sheetId.Id=(*itStr).first; + sheetId.Id = (*itStr).first; // decide whether or not to use the entry - if (type==sheetId.IdInfos.Type) + if (type == sheetId.IdInfos.Type) { - result.push_back( (CSheetId)sheetId.Id ); - resultFilenames.push_back( (*itStr).second.Ptr ); + result.push_back((CSheetId)sheetId.Id); + resultFilenames.push_back((*itStr).second.Ptr); } } @@ -714,9 +670,9 @@ void CSheetId::buildIdVector(std::vector &result, std::vector &result,const std::string &fileExtension) +void CSheetId::buildIdVector(std::vector &result, const std::string &fileExtension) { - uint32 type=typeFromFileExtension(fileExtension); + uint32 type = typeFromFileExtension(fileExtension); if (type != std::numeric_limits::max()) buildIdVector(result, type); @@ -726,40 +682,40 @@ void CSheetId::buildIdVector(std::vector &result,const std::string &f // buildIdVector // //----------------------------------------------- -void CSheetId::buildIdVector(std::vector &result, std::vector &resultFilenames,const std::string &fileExtension) +void CSheetId::buildIdVector(std::vector &result, std::vector &resultFilenames, const std::string &fileExtension) { - uint32 type=typeFromFileExtension(fileExtension); + uint32 type = typeFromFileExtension(fileExtension); if (type != std::numeric_limits::max()) - buildIdVector(result,resultFilenames, type); + buildIdVector(result, resultFilenames, type); } // buildIdVector // - //----------------------------------------------- // typeFromFileExtension // //----------------------------------------------- uint32 CSheetId::typeFromFileExtension(const std::string &fileExtension) { - if (!_Initialised) init(false); + if (!_Initialised) + init(false); uint i; - for (i=0;i<_FileExtensions.size();i++) - if (toLower(fileExtension)==_FileExtensions[i]) + for (i = 0; i < _FileExtensions.size(); i++) + if (toLower(fileExtension) == _FileExtensions[i]) return i; return std::numeric_limits::max(); } // typeFromFileExtension // - //----------------------------------------------- // fileExtensionFromType // //----------------------------------------------- const std::string &CSheetId::fileExtensionFromType(uint32 type) { - if (!_Initialised) init(false); - nlassert(type < (1<<(NL_SHEET_ID_TYPE_BITS))); + if (!_Initialised) + init(false); + nlassert(type < (1 << (NL_SHEET_ID_TYPE_BITS))); return _FileExtensions[type]; @@ -769,13 +725,13 @@ const std::string &CSheetId::fileExtensionFromType(uint32 type) // build // //----------------------------------------------- -void CSheetId::buildSheetId(uint32 shortId, uint32 type) +void CSheetId::buildSheetId(uint32 shortId, uint32 type) { - nlassert(shortId < (1<::iterator it(_SheetIdToName.find(_Id.Id)); @@ -786,7 +742,6 @@ void CSheetId::buildSheetId(uint32 shortId, uint32 type) else _DebugSheetName = NULL; #endif - } } // NLMISC