// MobileActionsPage.cpp : implementation file // #include "stdafx.h" #include "AreaEditor.h" #include "AreaEditorDoc.h" #include "MobileActionsPage.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CMobileActionsPage dialog CMobileActionsPage::CMobileActionsPage(CWnd* pParent /*=NULL*/) : CDialog(CMobileActionsPage::IDD, pParent) { //{{AFX_DATA_INIT(CMobileActionsPage) m_bAggressive = FALSE; m_bDeadly = FALSE; m_bGuardian = FALSE; m_bImmortal = FALSE; m_bIsNPC = FALSE; m_bMetaAggr = FALSE; m_bMobInvis = FALSE; m_bMountable = FALSE; m_bMounted = FALSE; m_bNoAssist = FALSE; m_bNoWander = FALSE; m_bPet = FALSE; m_bPolymorphed = FALSE; m_bPolySelf = FALSE; m_bPractice = FALSE; m_bPrototype = FALSE; m_bRunning = FALSE; m_bScavenger = FALSE; m_bScholar = FALSE; m_bSecretive = FALSE; m_bSentinel = FALSE; m_bStayArea = FALSE; m_bTrain = FALSE; m_bWimpy = FALSE; //}}AFX_DATA_INIT m_mob = NULL; } #define LOAD_FLAG(field, flag) \ field = IS_SET (m_mob->act, flag); #undef UNLOAD_FLAG #define UNLOAD_FLAG(field, flag) \ if (field != IS_SET (m_mob->act, flag)) bChanged = true; \ if (field) \ SET_BIT (m_mob->act, flag);\ else \ REMOVE_BIT (m_mob->act, flag) void CMobileActionsPage::DoDataExchange(CDataExchange* pDX) { bool bChanged = false; if (!pDX->m_bSaveAndValidate) { LOAD_FLAG (m_bAggressive, ACT_AGGRESSIVE); LOAD_FLAG (m_bDeadly, ACT_DEADLY); LOAD_FLAG (m_bGuardian, ACT_GUARDIAN); LOAD_FLAG (m_bImmortal, ACT_IMMORTAL); LOAD_FLAG (m_bIsNPC, ACT_IS_NPC); LOAD_FLAG (m_bMetaAggr, ACT_META_AGGR); LOAD_FLAG (m_bMobInvis, ACT_MOBINVIS); LOAD_FLAG (m_bMountable, ACT_MOUNTABLE); LOAD_FLAG (m_bMounted, ACT_MOUNTED); LOAD_FLAG (m_bNoAssist, ACT_NOASSIST); LOAD_FLAG (m_bNoWander, ACT_NOWANDER); LOAD_FLAG (m_bPet, ACT_PET); LOAD_FLAG (m_bPolymorphed, ACT_POLYMORPHED); LOAD_FLAG (m_bPolySelf, ACT_POLYSELF); LOAD_FLAG (m_bPractice, ACT_PRACTICE); LOAD_FLAG (m_bPrototype, ACT_PROTOTYPE); LOAD_FLAG (m_bRunning, ACT_RUNNING); LOAD_FLAG (m_bScavenger, ACT_SCAVENGER); LOAD_FLAG (m_bScholar, ACT_SCHOLAR); LOAD_FLAG (m_bSecretive, ACT_SECRETIVE); LOAD_FLAG (m_bSentinel, ACT_SENTINEL); LOAD_FLAG (m_bStayArea, ACT_STAY_AREA); LOAD_FLAG (m_bTrain, ACT_TRAIN); LOAD_FLAG (m_bWimpy, ACT_WIMPY); } CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CMobileActionsPage) DDX_Check(pDX, IDC_ACT_AGGRESSIVE, m_bAggressive); DDX_Check(pDX, IDC_ACT_DEADLY, m_bDeadly); DDX_Check(pDX, IDC_ACT_GUARDIAN, m_bGuardian); DDX_Check(pDX, IDC_ACT_IMMORTAL, m_bImmortal); DDX_Check(pDX, IDC_ACT_IS_NPC, m_bIsNPC); DDX_Check(pDX, IDC_ACT_META_AGGR, m_bMetaAggr); DDX_Check(pDX, IDC_ACT_MOBINVIS, m_bMobInvis); DDX_Check(pDX, IDC_ACT_MOUNTABLE, m_bMountable); DDX_Check(pDX, IDC_ACT_MOUNTED, m_bMounted); DDX_Check(pDX, IDC_ACT_NOASSIST, m_bNoAssist); DDX_Check(pDX, IDC_ACT_NOWANDER, m_bNoWander); DDX_Check(pDX, IDC_ACT_PET, m_bPet); DDX_Check(pDX, IDC_ACT_POLYMORPHED, m_bPolymorphed); DDX_Check(pDX, IDC_ACT_POLYSELF, m_bPolySelf); DDX_Check(pDX, IDC_ACT_PRACTICE, m_bPractice); DDX_Check(pDX, IDC_ACT_PROTOTYPE, m_bPrototype); DDX_Check(pDX, IDC_ACT_RUNNING, m_bRunning); DDX_Check(pDX, IDC_ACT_SCAVENGER, m_bScavenger); DDX_Check(pDX, IDC_ACT_SCHOLAR, m_bScholar); DDX_Check(pDX, IDC_ACT_SECRETIVE, m_bSecretive); DDX_Check(pDX, IDC_ACT_SENTINEL, m_bSentinel); DDX_Check(pDX, IDC_ACT_STAY_AREA, m_bStayArea); DDX_Check(pDX, IDC_ACT_TRAIN, m_bTrain); DDX_Check(pDX, IDC_ACT_WIMPY, m_bWimpy); //}}AFX_DATA_MAP if (pDX->m_bSaveAndValidate) { UNLOAD_FLAG (m_bAggressive, ACT_AGGRESSIVE); UNLOAD_FLAG (m_bDeadly, ACT_DEADLY); UNLOAD_FLAG (m_bGuardian, ACT_GUARDIAN); UNLOAD_FLAG (m_bImmortal, ACT_IMMORTAL); UNLOAD_FLAG (m_bIsNPC, ACT_IS_NPC); UNLOAD_FLAG (m_bMetaAggr, ACT_META_AGGR); UNLOAD_FLAG (m_bMobInvis, ACT_MOBINVIS); UNLOAD_FLAG (m_bMountable, ACT_MOUNTABLE); UNLOAD_FLAG (m_bMounted, ACT_MOUNTED); UNLOAD_FLAG (m_bNoAssist, ACT_NOASSIST); UNLOAD_FLAG (m_bNoWander, ACT_NOWANDER); UNLOAD_FLAG (m_bPet, ACT_PET); UNLOAD_FLAG (m_bPolymorphed, ACT_POLYMORPHED); UNLOAD_FLAG (m_bPolySelf, ACT_POLYSELF); UNLOAD_FLAG (m_bPractice, ACT_PRACTICE); UNLOAD_FLAG (m_bPrototype, ACT_PROTOTYPE); UNLOAD_FLAG (m_bRunning, ACT_RUNNING); UNLOAD_FLAG (m_bScavenger, ACT_SCAVENGER); UNLOAD_FLAG (m_bScholar, ACT_SCHOLAR); UNLOAD_FLAG (m_bSecretive, ACT_SECRETIVE); UNLOAD_FLAG (m_bSentinel, ACT_SENTINEL); UNLOAD_FLAG (m_bStayArea, ACT_STAY_AREA); UNLOAD_FLAG (m_bTrain, ACT_TRAIN); UNLOAD_FLAG (m_bWimpy, ACT_WIMPY); if (bChanged) m_mob->m_pDoc->SetModifiedFlag (); } } BEGIN_MESSAGE_MAP(CMobileActionsPage, CDialog) //{{AFX_MSG_MAP(CMobileActionsPage) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CMobileActionsPage message handlers