EgtExecutor 1.8f3 _

- oggetto custom PhotoObj viene gestita correttamente anche senza scena
- in ExeSaveObjToFile gestione CurrMachGroup come in ExeSaveFile.
This commit is contained in:
Dario Sassi
2017-06-13 17:57:49 +00:00
parent 3e4cd1568b
commit 528d8a0590
3 changed files with 44 additions and 23 deletions
+4 -5
View File
@@ -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) + "'," +
BIN
View File
Binary file not shown.
+40 -18
View File
@@ -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) ;
}
}
//----------------------------------------------------------------------------