EgtExecutor 1.8f3 _
- oggetto custom PhotoObj viene gestita correttamente anche senza scena - in ExeSaveObjToFile gestione CurrMachGroup come in ExeSaveFile.
This commit is contained in:
+4
-5
@@ -439,14 +439,13 @@ ExeSaveObjToFile( int nId, const string& sFilePath, int nFlag)
|
||||
{
|
||||
IGeomDB* pGeomDB = GetCurrGeomDB() ;
|
||||
VERIFY_GEOMDB( pGeomDB, false)
|
||||
// se ero in CAM, esco
|
||||
int nCurrMachGroup = ExeGetCurrMachGroup() ;
|
||||
// se ero in CAM, esco dopo averne salvato lo stato
|
||||
CamStatus CurrCamStatus ;
|
||||
ExeResetCurrMachGroup() ;
|
||||
// copio l'oggetto nel file
|
||||
bool bOk = pGeomDB->Save( nId, sFilePath, nFlag) ;
|
||||
// ripristino eventuale precedente CAM
|
||||
if ( nCurrMachGroup != GDB_ID_NULL)
|
||||
ExeSetCurrMachGroup( nCurrMachGroup) ;
|
||||
// eventuale ripristino precedente CAM
|
||||
CurrCamStatus.Restore() ;
|
||||
// se richiesto, salvo il comando Lua equivalente
|
||||
if ( IsCmdLog()) {
|
||||
string sLua = "EgtSaveObjToFile('" + StringToLuaString( sFilePath) + "'," +
|
||||
|
||||
Binary file not shown.
+40
-18
@@ -14,6 +14,7 @@
|
||||
//--------------------------- Include ----------------------------------------
|
||||
#include "stdafx.h"
|
||||
#include "PhotoObj.h"
|
||||
#include "GseContext.h"
|
||||
#include "/EgtDev/Include/EXeExecutor.h"
|
||||
#include "/EgtDev/Include/EXeConst.h"
|
||||
#include "/EgtDev/Include/EGrScene.h"
|
||||
@@ -135,24 +136,45 @@ PhotoObj::Load( const STRVECTOR& vString, int nBaseGdbId)
|
||||
return false ;
|
||||
if ( ! GetVal( vString[5], KEY_DIMY, m_dDimY))
|
||||
return false ;
|
||||
// verifico l'esistenza della texture
|
||||
if ( ExeExistsTexture( m_sName))
|
||||
return true ;
|
||||
// recupero nome e direttorio del progetto corrente
|
||||
string sFilePath ;
|
||||
ExeGetCurrFilePath( sFilePath) ;
|
||||
string sFileDir = GetDirectory( sFilePath) ;
|
||||
string sFileTitle = GetFileTitleEgt( sFilePath) ;
|
||||
// sostituzione dell'eventuale riferimento al direttorio del progetto nella path
|
||||
ReplaceString( m_sPath, SUB_PROJECT_DIR, sFileDir) ;
|
||||
// sostituzione dell'eventuale riferimento al nome del progetto nella path
|
||||
ReplaceString( m_sPath, SUB_PROJECT_TITLE, sFileTitle) ;
|
||||
// carico la texture dalla path indicata
|
||||
if ( ExistsFile( m_sPath))
|
||||
return ExeLoadTexture( m_sName, m_sPath, 0, m_dDimX, m_dDimY, TXR_CLAMP) ;
|
||||
// provo dalla path del progetto corrente
|
||||
string sName = GetFileName( m_sPath) ;
|
||||
return ExeLoadTexture( m_sName, sFileDir + "\\" + sName, 0, m_dDimX, m_dDimY, TXR_CLAMP) ;
|
||||
// se caricata scena, carico la texture
|
||||
if ( GetCurrScene() != nullptr) {
|
||||
// verifico l'esistenza della texture
|
||||
if ( ExeExistsTexture( m_sName))
|
||||
return true ;
|
||||
// recupero nome e direttorio del progetto corrente
|
||||
string sFilePath ;
|
||||
ExeGetCurrFilePath( sFilePath) ;
|
||||
string sFileDir = GetDirectory( sFilePath) ;
|
||||
string sFileTitle = GetFileTitleEgt( sFilePath) ;
|
||||
// sostituzione dell'eventuale riferimento al direttorio del progetto nella path
|
||||
ReplaceString( m_sPath, SUB_PROJECT_DIR, sFileDir) ;
|
||||
// sostituzione dell'eventuale riferimento al nome del progetto nella path
|
||||
ReplaceString( m_sPath, SUB_PROJECT_TITLE, sFileTitle) ;
|
||||
// carico la texture dalla path indicata
|
||||
if ( ExistsFile( m_sPath))
|
||||
return ExeLoadTexture( m_sName, m_sPath, 0, m_dDimX, m_dDimY, TXR_CLAMP) ;
|
||||
// provo dalla path del progetto corrente
|
||||
string sName = GetFileName( m_sPath) ;
|
||||
return ExeLoadTexture( m_sName, sFileDir + "\\" + sName, 0, m_dDimX, m_dDimY, TXR_CLAMP) ;
|
||||
}
|
||||
// altrimenti ne verifico solo l'esistenza
|
||||
else {
|
||||
// recupero nome e direttorio del progetto corrente
|
||||
string sFilePath ;
|
||||
ExeGetCurrFilePath( sFilePath) ;
|
||||
string sFileDir = GetDirectory( sFilePath) ;
|
||||
string sFileTitle = GetFileTitleEgt( sFilePath) ;
|
||||
// sostituzione dell'eventuale riferimento al direttorio del progetto nella path
|
||||
ReplaceString( m_sPath, SUB_PROJECT_DIR, sFileDir) ;
|
||||
// sostituzione dell'eventuale riferimento al nome del progetto nella path
|
||||
ReplaceString( m_sPath, SUB_PROJECT_TITLE, sFileTitle) ;
|
||||
// carico la texture dalla path indicata
|
||||
if ( ExistsFile( m_sPath))
|
||||
return true ;
|
||||
// provo dalla path del progetto corrente
|
||||
string sName = GetFileName( m_sPath) ;
|
||||
return ExistsFile( sFileDir + "\\" + sName) ;
|
||||
}
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user