Пример #1
0
/*===========================================================================
 *
 * Class CSrMuscRecord Event - void OnAddSubrecord (pSubrecord);
 *
 *=========================================================================*/
void CSrMuscRecord::OnAddSubrecord (CSrSubrecord* pSubrecord) {

	if (pSubrecord->GetRecordType() == SR_NAME_FNAM)
	{
		m_pFnamData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_PNAM)
	{
		m_pPnamData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_WNAM)
	{
		m_pWnamData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_TNAM)
	{
		m_pTnamData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}

	else
	{
	CSrIdRecord::OnAddSubrecord(pSubrecord);
	}

}
Пример #2
0
/*===========================================================================
 *
 * Class CSrPhzdRecord Event - void OnAddSubrecord (pSubrecord);
 *
 *=========================================================================*/
void CSrPhzdRecord::OnAddSubrecord (CSrSubrecord* pSubrecord) {

	if (pSubrecord->GetRecordType() == SR_NAME_XSCL)
	{
		m_pXsclData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_NAME)
	{
		m_pNameData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_XESP)
	{
		m_pXespData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_DATA)
	{
		m_pDataData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_VMAD)
	{
		m_pVmadData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}

	else
	{
	CSrRecord::OnAddSubrecord(pSubrecord);
	}

}
Пример #3
0
/*===========================================================================
 *
 * Class CSrAvifRecord Event - void OnAddSubrecord (pSubrecord);
 *
 *=========================================================================*/
void CSrAvifRecord::OnAddSubrecord (CSrSubrecord* pSubrecord) {

	if (pSubrecord->GetRecordType() == SR_NAME_AVSK)
	{
		m_pAvData = SrCastClass(CSrAvskSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_FULL)
	{
		m_pItemName = SrCastClass(CSrLStringSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_CNAM && m_pCnamData == NULL)
	{
		m_pCnamData = SrCastClass(CSrDwordSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_DESC)
	{
		m_pDescription = SrCastClass(CSrLStringSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_ANAM)
	{
		m_pAnamData = SrCastClass(CSrStringSubrecord, pSubrecord);
	}
	else
	{
		CSrIdRecord::OnAddSubrecord(pSubrecord);
	}

}
Пример #4
0
/*===========================================================================
 *
 * Class CSrCobjRecord Event - void OnAddSubrecord (pSubrecord);
 *
 *=========================================================================*/
void CSrCobjRecord::OnAddSubrecord (CSrSubrecord* pSubrecord) 
{

	if (pSubrecord->GetRecordType() == SR_NAME_BNAM)
	{
		m_pStation = SrCastClass(CSrFormidSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_COCT)
	{
		m_pComponentCount = SrCastClass(CSrDwordSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_CNAM)
	{
		m_pItemResult = SrCastClass(CSrFormidSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_NAM1)
	{
		m_pResultQnt = SrCastClass(CSrWordSubrecord, pSubrecord);
	}
	else
	{
		CSrIdRecord::OnAddSubrecord(pSubrecord);
	}

}
Пример #5
0
/*===========================================================================
 *
 * Class CSrLtexRecord Event - void OnAddSubrecord (pSubrecord);
 *
 *=========================================================================*/
void CSrLtexRecord::OnAddSubrecord (CSrSubrecord* pSubrecord) {

	if (pSubrecord->GetRecordType() == SR_NAME_TNAM)
	{
		m_pTnamData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_MNAM)
	{
		m_pMnamData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_HNAM)
	{
		m_pHnamData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_SNAM)
	{
		m_pSnamData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_GNAM)
	{
		m_pGnamData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else
	{
		CSrIdRecord::OnAddSubrecord(pSubrecord);
	}

}
Пример #6
0
/*===========================================================================
 *
 * Class CSrNavmRecord Event - void OnAddSubrecord (pSubrecord);
 *
 *=========================================================================*/
void CSrNavmRecord::OnAddSubrecord (CSrSubrecord* pSubrecord) {

	if (pSubrecord->GetRecordType() == SR_NAME_ONAM)
	{
		m_pOnamData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_XXXX)
	{
		m_pXxxxData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_NVNM)
	{
		m_pNvnmData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_NNAM)
	{
		m_pNnamData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_PNAM)
	{
		m_pPnamData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}

	else
	{
	CSrRecord::OnAddSubrecord(pSubrecord);
	}

}
Пример #7
0
/*===========================================================================
 *
 * Class CSrItem2Record Event - void OnAddSubrecord (pSubrecord);
 *
 *=========================================================================*/
void CSrItem2Record::OnAddSubrecord (CSrSubrecord* pSubrecord)
{

  if (pSubrecord->GetRecordType() == SR_NAME_EITM)
    m_pEnchantment = SrCastClass(CSrFormidSubrecord, pSubrecord);
  else if (pSubrecord->GetRecordType() == SR_NAME_EAMT)
    m_pEnchantPoints = SrCastClass(CSrWordSubrecord, pSubrecord);
  else
    CSrItem1Record::OnAddSubrecord(pSubrecord);

 }
Пример #8
0
static int CALLBACK s_ItemFormIDRecListSort(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort) 
{
	SRRL_SORTFUNC_GETPARAMS(lParam1, lParam2, lParamSort);
	CSrLvloSubrecord* pItem1 = SrCastClass(CSrLvloSubrecord, pCustomData1->Subrecords[0]);
	CSrLvloSubrecord* pItem2 = SrCastClass(CSrLvloSubrecord, pCustomData2->Subrecords[0]);
  
	if (pItem1 == NULL || pItem2 == NULL) return (0);

	if (pSortData->Reverse) return -(int)(pItem1->GetFormID() - pItem2->GetFormID());
	return (int)(pItem1->GetFormID() - pItem2->GetFormID());
}
Пример #9
0
srlvllistinfo_t* SrFindLvlListInfo (CSrLvlListInfoArray& InfoArray, CSrSubrecord* pSubrecord)
{
	if (pSubrecord == NULL) return NULL;
	CSrCntoSubrecord* pCnto = SrCastClass(CSrCntoSubrecord, pSubrecord);
	CSrLvloSubrecord* pLvlo = SrCastClass(CSrLvloSubrecord, pSubrecord);

	for (dword i = 0; i < InfoArray.GetSize(); ++i)
	{
		if (pCnto != NULL && InfoArray[i]->pCnto == pCnto) return InfoArray[i];
		if (pLvlo != NULL && InfoArray[i]->pLvlo == pLvlo) return InfoArray[i];
	}

	return NULL;
}
Пример #10
0
/*===========================================================================
 *
 * Class CSrEspFile Method - dword Find (FindData, pCallback);
 *
 *=========================================================================*/
dword CSrEspFile::Find (srfinddata_t& FindData, CSrCallback* pCallback) {
  CSrBaseRecord* pBaseRecord;
  CSrRecord*     pRecord;
  CSrTypeGroup*	 pGroup;
  dword          FindCount = 0;
  dword          Index;
  dword          Count;
  bool		 FindText = (FindData.Flags & SR_FIND_COMPARETEXT) != 0;
  bool		 IsExcluded;
  bool		 Result;
  int            iResult;

  if (pCallback != NULL) {
    pCallback->SetTotalRecords(m_Records.GetNumRecords());
    pCallback->SetTotalRecords1(0);
    pCallback->Reset();
  }

  ++FindData.FileCount;
  
  for (Index = 0; Index < m_Records.GetNumRecords(); ++Index) {
    pBaseRecord = m_Records.GetRecord(Index);
    pRecord     = SrCastClass(CSrRecord, pBaseRecord);

    if (pRecord) {
      IsExcluded = SrContainsRecordType(pRecord->GetRecordType(), FindData.pExcludeRecords);
    }
    else {
      pGroup = SrCastClass(CSrTypeGroup, pBaseRecord);
      if (pGroup != NULL) IsExcluded = SrContainsRecordType(pGroup->GetContainsType(), FindData.pExcludeRecords);
    }
    
    if (pRecord == NULL || !IsExcluded) {
      if (FindText)
        Result = pBaseRecord->SearchText(Count, FindData);
      else
        Result = pBaseRecord->Search(Count, FindData);

      FindCount += Count;
      if (!Result) return (FindCount);
    
      if (pCallback != NULL) {
        iResult = pCallback->UpdateCallback(Index);
        if (iResult < 0) return (FindCount);
      }
    }
  }

  return (FindCount);
 }
Пример #11
0
/*===========================================================================
 *
 * Class CSrMustRecord Event - void OnAddSubrecord (pSubrecord);
 *
 *=========================================================================*/
void CSrMustRecord::OnAddSubrecord (CSrSubrecord* pSubrecord) {

	if (pSubrecord->GetRecordType() == SR_NAME_FLTV)
	{
		m_pFltvData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_FNAM)
	{
		m_pFnamData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_CNAM)
	{
		m_pCnamData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_CTDA)
	{
		m_pCtdaData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_ANAM)
	{
		m_pAnamData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_CITC)
	{
		m_pCitcData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_BNAM)
	{
		m_pBnamData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_LNAM)
	{
		m_pLnamData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_DNAM)
	{
		m_pDnamData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_SNAM)
	{
		m_pSnamData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}

	else
	{
	CSrIdRecord::OnAddSubrecord(pSubrecord);
	}

}
Пример #12
0
/*===========================================================================
 *
 * Class CSrBptdRecord Event - void OnAddSubrecord (pSubrecord);
 *
 *=========================================================================*/
void CSrBptdRecord::OnAddSubrecord (CSrSubrecord* pSubrecord) {

	if (pSubrecord->GetRecordType() == SR_NAME_MODL)
	{
		m_pModlData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_NAM1)
	{
		m_pNam1Data = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_BPNT)
	{
		m_pBpntData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_BPTN)
	{
		m_pBptnData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_MODT)
	{
		m_pModtData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_BPNI)
	{
		m_pBpniData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_BPNN)
	{
		m_pBpnnData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_BPND)
	{
		m_pBpndData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_NAM4)
	{
		m_pNam4Data = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_NAM5)
	{
		m_pNam5Data = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else
	{
		CSrIdRecord::OnAddSubrecord(pSubrecord);
	}

}
Пример #13
0
void SrCreateLvlListInfo (CSrLvlListInfoArray& InfoArray, CSrCobjRecord& Record)
{
	CSrSubrecord*	  pSubrecord;
	CSrCntoSubrecord* pCnto;
	CSrCoedSubrecord* pCoed;
	srlvllistinfo_t*  pNewInfo;
	int			      Position;

	InfoArray.Destroy();
	pSubrecord = Record.FindFirstSubrecord(SR_NAME_CNTO, Position);

	while (pSubrecord != NULL)
	{
		pCnto = SrCastClass(CSrCntoSubrecord, pSubrecord);

		if (pCnto != NULL)
		{
			pNewInfo = InfoArray.AddNew();
			pNewInfo->pCnto = new CSrCntoSubrecord;
			pNewInfo->pCnto->CopyFull(pCnto);
			
			pSubrecord = Record.GetSubrecord(Position + 1);
			pCoed = SrCastClassNull(CSrCoedSubrecord, pSubrecord);

			if (pCoed != NULL)
			{
				pNewInfo->pCoed = new CSrCoedSubrecord;
				pNewInfo->pCoed->CopyFull(pCoed);
			}
		}

		pSubrecord = Record.FindNextSubrecord(SR_NAME_CNTO, Position);
	}

}
Пример #14
0
/*===========================================================================
 *
 * Class CSrSelectRecordDlg Method - void SetControlData (void);
 *
 *=========================================================================*/
void CSrSelectRecordDlg::SetControlData (void) {
    CString      Buffer;
    CString      EditorID;
    CSrIdRecord* pIdRecord;

    m_RecordList.SortList(SR_FIELD_EDITORID);
    if (m_DlgInfo.SortField != SR_FIELD_EDITORID) m_RecordList.SortList(m_DlgInfo.SortField);

    m_RecordList.SelectRecord(m_pCurrentRecord);

    if (m_pPrevRecord == NULL) {
        m_PreviousText.SetWindowText("");
        m_PreviousFormIDText.SetWindowText("0x00000000");
    }
    else {
        pIdRecord = SrCastClass(CSrIdRecord, m_pPrevRecord);
        if (pIdRecord != NULL) EditorID = pIdRecord->GetEditorID();

        Buffer.Format("%s", EditorID);
        m_PreviousText.SetWindowText(Buffer);

        Buffer.Format("0x%08X", m_pPrevRecord->GetFormID());
        m_PreviousFormIDText.SetWindowText(Buffer);
    }

    UpdateCurrentRecord();
}
Пример #15
0
/*===========================================================================
 *
 * Class CSrGlobRecord Event - void OnAddSubrecord (pSubrecord);
 *
 *=========================================================================*/
void CSrGlobRecord::OnAddSubrecord (CSrSubrecord* pSubrecord) {

	if (pSubrecord->GetRecordType() == SR_NAME_FLTV)
	{
		m_pValue = SrCastClass(CSrFloatSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_FNAM)
	{
		m_pType = SrCastClass(CSrByteSubrecord, pSubrecord);
	}
	else
	{
		CSrIdRecord::OnAddSubrecord(pSubrecord);
	}

}
Пример #16
0
dword CSrEspFile::UpdateFormCount (CSrGroup* pGroup)
{
	CSrBaseRecord* pBaseRecord;
	CSrGroup*      pSubGroup;
	dword          Count = 0;

		/* Special case for type groups */
	if (pGroup->GetType() == SR_GROUP_TYPE)
	{
		return pGroup->GetNumRecords();
	}

	for (dword i = 0; i < pGroup->GetNumRecords(); ++i)
	{
		pBaseRecord = pGroup->GetRecord(i);

		if (pBaseRecord->IsGroup())
		{
			pSubGroup = SrCastClass(CSrGroup, pBaseRecord);
			++Count;
			if (pSubGroup != NULL) Count += UpdateFormCount(pSubGroup);
		}
		else
		{
			++Count;
		}
	}

	return Count;
}
Пример #17
0
/*===========================================================================
 *
 * Class CSrEspFile Method - int FindTopGroupInsertPos (Type);
 *
 *=========================================================================*/
CSrBaseRecord* CSrEspFile::FindTopGroupInsertPos (const srrectype_t Type) {
  CSrBaseRecord* pBase;
  CSrBaseRecord* pLastInsert = NULL;
  CSrTypeGroup*  pTypeGroup;
  dword		 Index;
  dword		 TypeIndex = 0;
  
  for (Index = 0; Index < m_Records.GetNumRecords(); ++Index) {
    pBase = m_Records.GetRecord(Index);

    if (pBase->IsRecord()) {
      if (Index == 0) pLastInsert = pBase;
      continue;
    }

    pTypeGroup = SrCastClass(CSrTypeGroup, pBase);
    if (pTypeGroup == NULL) continue;

    for (; s_TopLevelTypeOrder[TypeIndex] != NULL; ++TypeIndex) {
      if (Type == *s_TopLevelTypeOrder[TypeIndex]) return (pLastInsert);
      if (pTypeGroup->GetContainsType() == *s_TopLevelTypeOrder[TypeIndex]) break;
    }

    pLastInsert = pTypeGroup;
  }

  return (pLastInsert);
}
Пример #18
0
/*===========================================================================
 *
 * Class CSrIdRecord Event - void OnAddSubrecord (pSubRecord);
 *
 *=========================================================================*/
void CSrIdRecord::OnAddSubrecord (CSrSubrecord* pSubrecord) {

	if (pSubrecord->GetRecordType() == SR_NAME_EDID)
	{
	    m_pEditorID = SrCastClass(CSrStringSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_OBND)
	{
	    m_pBounds = SrCastClass(CSrBoundsSubrecord, pSubrecord);
	}
	else
	{
		CSrRecord::OnAddSubrecord(pSubrecord);
	}
  
 }
Пример #19
0
/*===========================================================================
 *
 * Class CSrIdKeyRecord Event - void OnAddSubrecord (pSubRecord);
 *
 *=========================================================================*/
void CSrIdKeyRecord::OnAddSubrecord (CSrSubrecord* pSubrecord) {

  if (pSubrecord->GetRecordType() == SR_NAME_KSIZ) 
  {
    m_pKeywordCount = SrCastClass(CSrDwordSubrecord, pSubrecord);
    //TEST_INTVALUE1(m_pKeywordCount->GetRecordSize(), 4, SR_NAME_KSIZ);
  }
  else if (pSubrecord->GetRecordType() == SR_NAME_KWDA) 
  {
    m_pKeywords = SrCastClass(CSrFormidArraySubrecord, pSubrecord);
  }  
  else
  {
    CSrIdRecord::OnAddSubrecord(pSubrecord);
  }
  
 }
Пример #20
0
/*===========================================================================
 *
 * Class CSrArtoRecord Event - void OnAddSubrecord (pSubrecord);
 *
 *=========================================================================*/
void CSrArtoRecord::OnAddSubrecord (CSrSubrecord* pSubrecord) {

	if (pSubrecord->GetRecordType() == SR_NAME_MODL)
	{
		m_pModlData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_DNAM)
	{
		m_pDnamData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_MODT)
	{
		m_pModtData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else
	{
		CSrIdRecord::OnAddSubrecord(pSubrecord);
	}

}
Пример #21
0
/*===========================================================================
 *
 * Class CSrContView Method - void GetControlData (void);
 *
 *=========================================================================*/
void CSrContView::GetControlData (void) 
{
	CSrContRecord*    pContainer;

	CSrRecordDialog::GetControlData();
	if (m_EditInfo.pNewRecord == NULL) return;

	pContainer = SrCastClass(CSrContRecord, GetOutputRecord());
	if (pContainer == NULL) return;

	SrSaveLvlListInfo(m_LvlListInfo, *pContainer);
}
Пример #22
0
void CSrEspFile::UpdateStringMap (CSrGroup* pGroup)
{
	if (pGroup == NULL) return;

	for (dword i = 0; i < pGroup->GetNumRecords(); ++i)
	{
		CSrBaseRecord* pBaseRecord = pGroup->GetRecord(i);

		if (pBaseRecord->IsGroup())
		{
			CSrGroup* pGroup = SrCastClass(CSrGroup, pBaseRecord);
			UpdateStringMap(pGroup);
		}
		else
		{
			CSrRecord* pRecord = SrCastClass(CSrRecord, pBaseRecord);
			UpdateStringMap(pRecord);
		}
	}

}
Пример #23
0
/*===========================================================================
 *
 * Class CSrEcznRecord Event - void OnAddSubrecord (pSubrecord);
 *
 *=========================================================================*/
void CSrEcznRecord::OnAddSubrecord (CSrSubrecord* pSubrecord) {

	if (pSubrecord->GetRecordType() == SR_NAME_DATA)
	{
		m_pEncounterData = SrCastClass(CSrEcznDataSubrecord, pSubrecord);
	}
	else
	{
		CSrIdRecord::OnAddSubrecord(pSubrecord);
	}

}
Пример #24
0
/*===========================================================================
 *
 * Class CSrIpdsRecord Event - void OnAddSubrecord (pSubrecord);
 *
 *=========================================================================*/
void CSrIpdsRecord::OnAddSubrecord (CSrSubrecord* pSubrecord) {

	if (pSubrecord->GetRecordType() == SR_NAME_PNAM)
	{
		m_pPnamData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else
	{
		CSrIdRecord::OnAddSubrecord(pSubrecord);
	}

}
Пример #25
0
/*===========================================================================
 *
 * Class CSrDualRecord Event - void OnAddSubrecord (pSubrecord);
 *
 *=========================================================================*/
void CSrDualRecord::OnAddSubrecord (CSrSubrecord* pSubrecord) {

	if (pSubrecord->GetRecordType() == SR_NAME_DATA)
	{
		m_pDataData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else
	{
		CSrIdRecord::OnAddSubrecord(pSubrecord);
	}

}
Пример #26
0
/*===========================================================================
 *
 * Class CSrTactRecord Event - void OnAddSubrecord (pSubrecord);
 *
 *=========================================================================*/
void CSrTactRecord::OnAddSubrecord (CSrSubrecord* pSubrecord) {

	if (pSubrecord->GetRecordType() == SR_NAME_VNAM)
	{
		m_pVnamData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_FNAM)
	{
		m_pFnamData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_MODL)
	{
		m_pModlData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_FULL)
	{
		m_pFullData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_MODT)
	{
		m_pModtData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_PNAM)
	{
		m_pPnamData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}

	else
	{
	CSrIdRecord::OnAddSubrecord(pSubrecord);
	}

}
Пример #27
0
/*===========================================================================
 *
 * Class CSrEfshRecord Event - void OnAddSubrecord (pSubrecord);
 *
 *=========================================================================*/
void CSrEfshRecord::OnAddSubrecord (CSrSubrecord* pSubrecord) {

	if (pSubrecord->GetRecordType() == SR_NAME_ICON)
	{
		m_pIconData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_ICO2)
	{
		m_pIco2Data = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_NAM7)
	{
		m_pNam7Data = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_NAM8)
	{
		m_pNam8Data = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_NAM9)
	{
		m_pNam9Data = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_DATA)
	{
		m_pDataData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else
	{
		CSrIdRecord::OnAddSubrecord(pSubrecord);
	}

}
Пример #28
0
/*===========================================================================
 *
 * Class CSrMiscRecord Event - void OnAddSubrecord (pSubrecord);
 *
 *=========================================================================*/
void CSrMiscRecord::OnAddSubrecord (CSrSubrecord* pSubrecord) {

	if (pSubrecord->GetRecordType() == SR_NAME_VMAD)
	{
		m_pVmadData = SrCastClass(CSrVmadSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_MODT)
	{
		m_pModtData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_DATA)
	{
		m_pMiscData = SrCastClass(CSrMiscDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_MODS)
	{
		m_pModsData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_YNAM)
	{
		m_pPickupSound = SrCastClass(CSrFormidSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_ZNAM)
	{
		m_pDropSound = SrCastClass(CSrFormidSubrecord, pSubrecord);
	}
	else
	{
		CSrItem1Record::OnAddSubrecord(pSubrecord);
	}

}
Пример #29
0
/*===========================================================================
 *
 * Class CSrEspFile Method - CSrTypeGroup* GetTypeGroup (Type);
 *
 *=========================================================================*/
CSrTypeGroup* CSrEspFile::GetTypeGroup (const srrectype_t Type) {
  CSrBaseRecord* pRecord;
  CSrGroup*	 pGroup;
  CSrTypeGroup*	 pTypeGroup;
  dword		 Index;

	/* Search all top level groups for a match */
  for (Index = 0; Index < m_Records.GetNumRecords(); ++Index) {
    pRecord = m_Records.GetRecords().GetAt(Index);

    if (!pRecord->IsGroup()) continue;
    pGroup = SrCastClass(CSrGroup, pRecord);
    if (pGroup == NULL) continue;
    if (pGroup->GetType() != SR_GROUP_TYPE) continue;
    pTypeGroup = SrCastClass(CSrTypeGroup, pGroup);
    if (pTypeGroup == NULL) continue;

    if (Type == pTypeGroup->GetContainsType()) return (pTypeGroup);
   }

  return (NULL);
 }
Пример #30
0
/*===========================================================================
 *
 * Class CSrTxstRecord Event - void OnAddSubrecord (pSubrecord);
 *
 *=========================================================================*/
void CSrTxstRecord::OnAddSubrecord (CSrSubrecord* pSubrecord) {

	if (pSubrecord->GetRecordType() == SR_NAME_TX05)
	{
		m_pTx05Data = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_DNAM)
	{
		m_pDnamData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_TX00)
	{
		m_pTx00Data = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_TX01)
	{
		m_pTx01Data = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_DODT)
	{
		m_pDodtData = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_TX03)
	{
		m_pTx03Data = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_TX07)
	{
		m_pTx07Data = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_TX02)
	{
		m_pTx02Data = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else if (pSubrecord->GetRecordType() == SR_NAME_TX04)
	{
		m_pTx04Data = SrCastClass(CSrDataSubrecord, pSubrecord);
	}
	else
	{
		CSrIdRecord::OnAddSubrecord(pSubrecord);
	}

}