/*=========================================================================== * * Class CSrLvlEditDlg Method - int UpdateEditorID (void); * *=========================================================================*/ int CSrLvlEditDlg::UpdateEditorID (void) { CString Buffer; CSString EditorID; CSrIdRecord* pIdRecord; bool Result; int ListIndex; m_ObjectID.GetWindowText(Buffer); EditorID = Buffer; Result = SrPrepareEditorID(EditorID); if (!Result) return (SR_CHECKRESULT_ERROR); pIdRecord = m_pRecordHandler->FindEditorID(EditorID); if (pIdRecord == NULL) return (SR_CHECKRESULT_ERROR); if (pIdRecord->GetFormID() == m_ParentFormID) return (SR_CHECKRESULT_ERROR); ListIndex = m_RecordList.FindRecord(pIdRecord); if (ListIndex < 0) return (SR_CHECKRESULT_ERROR); m_ObjectFormID = pIdRecord->GetFormID(); if (m_ObjectFormID == m_pListInfo->GetFormID()) return (SR_CHECKRESULT_NOCHANGE); Buffer.Format(_T("0x%08X"), m_ObjectFormID); m_FormID.SetWindowText(Buffer); return (SR_CHECKRESULT_OK); }
/*=========================================================================== * * Class CSrSelectRecordDlg Method - int UpdateEditorID (void); * *=========================================================================*/ int CSrSelectRecordDlg::UpdateEditorID (void) { CString Buffer; CSString EditorID; CSrIdRecord* pIdRecord; int ListIndex; m_CurrentText.GetWindowText(Buffer); EditorID = Buffer; SrPrepareEditorID(EditorID); if (EditorID.IsEmpty()) { m_CurrentFormID = 0; } else { pIdRecord = m_pRecordHandler->FindEditorID(EditorID); if (pIdRecord == NULL) return (SR_CHECKRESULT_ERROR); ListIndex = m_RecordList.FindRecord(pIdRecord); if (ListIndex < 0) return (SR_CHECKRESULT_ERROR); m_CurrentEditorID = pIdRecord->GetEditorID(); m_CurrentFormID = pIdRecord->GetFormID(); } if (m_CurrentFormID == m_InitialFormID) return (SR_CHECKRESULT_NOCHANGE); Buffer.Format(_T("0x%08X"), m_CurrentFormID); m_CurrentFormIDText.SetWindowText(Buffer); return (SR_CHECKRESULT_OK); }
void CSrScrlView::GetCurrentEffect (void) { CString Buffer; if (m_pCurrentEffect == NULL) return; if (m_pCurrentEffect->pEffectData) { m_Magnitude.GetWindowText(Buffer); m_pCurrentEffect->pEffectData->SetMagnitude((float) atof(Buffer)); m_Area.GetWindowText(Buffer); m_pCurrentEffect->pEffectData->SetArea(atoi(Buffer)); m_Duration.GetWindowText(Buffer); m_pCurrentEffect->pEffectData->SetDuration(atoi(Buffer)); } if (m_pCurrentEffect->pEffect) { m_EffectName.GetWindowText(Buffer); Buffer.Trim(); if (Buffer.IsEmpty()) { m_pCurrentEffect->pEffect->SetValue(0); } else { CSrIdRecord* pRecord = GetInputRecord()->GetParent()->FindEditorID(Buffer); if (pRecord) m_pCurrentEffect->pEffect->SetValue(pRecord->GetFormID()); } } for (dword i = 0; i < m_Effects.GetSize(); ++i) { srrlcustomdata_t* pCustomData = (srrlcustomdata_t *) m_EffectList.GetItemData(i); if (pCustomData == NULL) continue; CSrFormidSubrecord* pEffect = SrCastClassNull(CSrFormidSubrecord, pCustomData->Subrecords[0]); if (pEffect == NULL) continue; if (pEffect != m_pCurrentEffect->pEffect) continue; pCustomData->UserCount = m_pCurrentEffect->Conditions.GetSize(); pCustomData->Subrecords.Truncate(2); int CDIndex = 2; for (dword j = 0; j < m_pCurrentEffect->Conditions.GetSize(); ++j) { srconditioninfo_t* pCondInfo = m_pCurrentEffect->Conditions[j]; pCustomData->Subrecords.Add(&pCondInfo->Condition); if (pCondInfo->pParam1 != NULL) pCustomData->Subrecords.Add(pCondInfo->pParam1); if (pCondInfo->pParam2 != NULL) pCustomData->Subrecords.Add(pCondInfo->pParam2); } UpdateEffectList(i, true); break; } }
void CSrWeapRecord::SetEquipSlot (const char* pEditorID) { if (pEditorID == NULL || *pEditorID == 0) { SetEquipSlotID(0); } else if (m_pParent) { CSrIdRecord* pRecord = m_pParent->FindEditorID(pEditorID); if (pRecord == NULL) SetEquipSlotID(0); else SetEquipSlotID(pRecord->GetFormID()); } }