124 lines
3.6 KiB
C++
124 lines
3.6 KiB
C++
//BEGIN FS 10/9/98
|
|
/*----------------------------------------------------------------------
|
|
* Description: callback for .CSB sript file
|
|
*----------------------------------------------------------------------
|
|
* Input:
|
|
* Output:
|
|
*----------------------------------------------------------------------
|
|
* Author: FS
|
|
* Creation date:10/9/98
|
|
* Modif date:
|
|
*----------------------------------------------------------------------*/
|
|
int TSN_Event::LoadCSB_File( LDT_tdst_Link *pLink )
|
|
{
|
|
LDT_tdeParseResult result=ParseResult_BeginSection;
|
|
char *szSectionName;
|
|
|
|
result=LDT_GetNextEntry();
|
|
while( result==ParseResult_BeginSection )
|
|
{
|
|
szSectionName=LDT_szGetEntryName();
|
|
switch (*(long*)(szSectionName+5/*"SndEv"*/))
|
|
{
|
|
case 'etne': //"SndEventE"
|
|
LDT_LoadSection(NULL);
|
|
break;
|
|
default:
|
|
LDT_SkipSection();
|
|
}//end switch
|
|
result=LDT_GetNextEntry();
|
|
}//end while
|
|
return 0;
|
|
}
|
|
//END FS 10/9/98
|
|
|
|
//BEGIN FS 10/5/98
|
|
/*----------------------------------------------------------------------
|
|
* Description: callback for SndEventE section from .CSB sript file
|
|
*----------------------------------------------------------------------
|
|
* Input:
|
|
* Output:
|
|
*----------------------------------------------------------------------
|
|
* Author: FS
|
|
* Creation date:10/5/98
|
|
* Modif date:
|
|
*----------------------------------------------------------------------*/
|
|
int TSN_Event::LoadCSB_SndEventE( LDT_tdst_Link *pLink )
|
|
{
|
|
LDT_tdeParseResult result=ParseResult_BeginSection;
|
|
char *szEntryName;
|
|
|
|
TSN_Event *pEvent;
|
|
CString csName,csTemp;
|
|
int iPos;
|
|
tdeMissingCriteria eAns;
|
|
char szEntry1[MAX_PATH];
|
|
int iLen;
|
|
|
|
// unsigned long* pOpenSection;
|
|
// SCR_tdst_Sect_Open *pOpenSection;
|
|
SND_tdstBlockEvent *pEngineEvent;
|
|
|
|
//Working for BeginSection
|
|
// Create event:
|
|
pEvent=new TSN_Event();
|
|
pLink->pObject=pEvent;
|
|
g_poSNDEDITInterface->m_EdiEventList.AddTail(pEvent);
|
|
|
|
// Transform the SndEventE in SndEventM:
|
|
iLen=LDT_ComputeSectionName(pLink,szEntry1);
|
|
csName = szEntry1+iLen;
|
|
iPos=csName.Find("sndevente");
|
|
|
|
if (iPos!=-1)
|
|
{
|
|
csName.SetAt(iPos+8,'m');
|
|
}
|
|
// set the engine event pointer if event is loaded:
|
|
//pEngineEvent=(SND_tdstBlockEvent*)LDT_LoadSection((char*)(LPCTSTR)csName);
|
|
LDT_tdst_Link *pLink1 = LDT_GetLink( (char*)(LPCTSTR)csName );
|
|
if (pLink1!=NULL)
|
|
{
|
|
pEngineEvent=(SND_tdstBlockEvent*)pLink1->pObject;
|
|
// pEngineEvent=(SND_tdstBlockEvent *)SCR_M_ul_RdL0_ExtractLongValue(&pOpenSection->stSectionValues,0);
|
|
if( pEngineEvent !=NULL )
|
|
{
|
|
if (pEngineEvent!=pEvent->m_pEngineEvent)
|
|
{
|
|
pEvent->fn_vUpdateData(pEngineEvent);
|
|
pEvent->m_pEngineEvent=pEngineEvent;
|
|
}
|
|
pEvent->SetAvailable(TRUE);
|
|
}
|
|
}
|
|
pEvent->SetReferencedSectionName(csName);
|
|
|
|
//Working for entries
|
|
result=LDT_GetNextEntry();
|
|
while( result!=ParseResult_EndSection )
|
|
{
|
|
szEntryName=LDT_szGetEntryName();
|
|
switch (*(long*)(szEntryName))
|
|
{
|
|
case 'NteS': //"SetName"
|
|
// Compute csb name, without the '.csb' extension:
|
|
csName=pLink->szFile;
|
|
csTemp=csName.Left(csName.GetLength()-4);
|
|
// crate event name as registered in name list:
|
|
csName.Format("SND_%s_%s",LDT_szGetParam(1),csTemp);
|
|
eAns=pEvent->fn_eRename(csName);
|
|
if (eAns!=E_mc_None)
|
|
{
|
|
csTemp.Format("Sound Editor Event Creation error: Name SND_%s incorrect(already exists or syntax incorrect)!",csName);
|
|
AfxMessageBox(csTemp);
|
|
}
|
|
// We have the event group's name: no need to continue this section analysis:
|
|
while (LDT_GetNextEntry()!=ParseResult_EndSection);
|
|
return 0;
|
|
}//end switch
|
|
result=LDT_GetNextEntry();
|
|
}//end while
|
|
return 0;
|
|
}
|
|
//END FS 10/5/98
|