ObjFile *MakeData(ObjFactory &factory) { ObjFile *rv = factory.MakeFile("test.dat"); std::time_t x = std::time(0); rv->SetFileTime(*std::localtime(&x)); ObjSourceFile *sf = factory.MakeSourceFile("test.dat"); rv->Add(sf); ObjSourceFile *sf1 = factory.MakeSourceFile("q.dat"); rv->Add(sf1); ObjSection *sect = factory.MakeSection("code"); codeSection = sect; rv->Add(sect); ObjSymbol *s1 = factory.MakePublicSymbol("public"); rv->Add(s1); ObjSymbol *s1a = factory.MakePublicSymbol("2public"); s1a->SetBaseType(BuildType(*rv, factory)); rv->Add(s1a); ObjSymbol *s2 = factory.MakeLocalSymbol("local"); s2->SetBaseType(factory.MakeType(ObjType::eInt)); rv->Add(s2); ObjSymbol *s3 = factory.MakeAutoSymbol("auto"); s3->SetOffset(factory.MakeExpression(-8)); rv->Add(s3); ObjSymbol *s4 = factory.MakeExternalSymbol("extern"); rv->Add(s4); ObjMemory *mem = factory.MakeData((ObjByte *)"\x44\x22\x33\x11", 4); ObjLineNo *l = factory.MakeLineNo(sf, 3); mem->Add(factory.MakeDebugTag(l)); sect->Add(mem); mem = factory.MakeData((ObjByte *)"\xaa\xbb\x33", 3); mem->Add(factory.MakeDebugTag(s1)); sect->Add(mem); mem = factory.MakeData((ObjByte *)"\xf1\x9a\x33", 3); mem->Add(factory.MakeDebugTag(s2)); l = factory.MakeLineNo(sf1, 4); mem->Add(factory.MakeDebugTag(l)); sect->Add(mem); mem = factory.MakeData((ObjByte *)"\x32\x17\x33", 3); mem->Add(factory.MakeDebugTag(s3)); sect->Add(mem); ObjExpression *left = factory.MakeExpression(s4); ObjExpression *right = factory.MakeExpression(7); mem = factory.MakeFixup(factory.MakeExpression(ObjExpression::eAdd, left, right), 4); sect->Add(mem); mem = factory.MakeData((ObjByte *)"\x55\x44\x33", 3); mem->Add(factory.MakeDebugTag(s4)); mem->Add(factory.MakeDebugTag(s1a)); sect->Add(mem); BuildBrowse(*rv, factory, l); ObjExportSymbol *es = factory.MakeExportSymbol("export"); es->SetExternalName("myexport"); es->SetByOrdinal(false); rv->Add(es); ObjExportSymbol *es1 = factory.MakeExportSymbol("export1"); es1->SetOrdinal(500); es1->SetByOrdinal(true); rv->Add(es1); ObjImportSymbol *is = factory.MakeImportSymbol("import"); is->SetExternalName("myimport"); is->SetDllName("mydll"); rv->Add(is); ObjImportSymbol *is1 = factory.MakeImportSymbol("import1"); is1->SetByOrdinal(true); is1->SetOrdinal(512); is1->SetDllName("mydll"); rv->Add(is1); return rv; }
MacroTask* BuildOrderManager::upgrade( int level, BWAPI::UpgradeType t, int priority ) { MacroTask* mt = new MacroTask( BuildType( t, level ), priority, true, 1 ); m_newMacroTasks.push_back( mt ); return mt; }
SupplyManager::SupplyManager() { m_supplyProviderType = BuildType( BWAPI::Broodwar->self()->getRace().getSupplyProvider() ); m_buildTime = m_supplyProviderType.buildUnitTime() + m_supplyProviderType.prepTime(); m_initialSupplyProviderCount = BWAPI::Broodwar->self()->completedUnitCount( m_supplyProviderType.getUnitType() ); }
BrowserLibraryFilter::BrowserLibraryFilter(BrowserLibraryController *pController) : wxDialog (0, -1, wxT ("Library Filter"), wxDefaultPosition, wxDefaultSize), // Initialisation of member objects and variables m_pCancelButton (NULL), m_pCardNameText (NULL), m_pClanLess (NULL), m_pClanList (NULL), m_pClearButton (NULL), m_pCombo (NULL), m_pController (pController), m_pCostBlood (NULL), m_pCostPool (NULL), m_pHave (NULL), m_pHaveOrWant (NULL), m_pDisciplineLess (NULL), m_pDisciplineList (NULL), m_pEditionList (NULL), m_pMultiDiscipline (NULL), m_pOKButton (NULL), m_pOtherText (NULL), m_pRarityList (NULL), m_pReflex (NULL), m_pTitleList (NULL) { wxAcceleratorEntry entries[3]; entries[0].Set(wxACCEL_NORMAL, WXK_RETURN, ID_OK_BUTTON); entries[1].Set(wxACCEL_NORMAL, WXK_ESCAPE, ID_CANCEL_BUTTON); entries[2].Set(wxACCEL_NORMAL, WXK_DELETE, ID_CLEAR_BUTTON); wxAcceleratorTable accel(3, entries); this->SetAcceleratorTable(accel); InterfaceData *pUIData = InterfaceData::Instance (); wxBoxSizer *pPapaSizerV = new wxBoxSizer (wxVERTICAL); wxBoxSizer *pPapaSizer = new wxBoxSizer (wxHORIZONTAL); pPapaSizerV->Add(pPapaSizer); SetAutoLayout(TRUE); SetSizer(pPapaSizerV); // The card types wxStaticBoxSizer *pTypeBox = new wxStaticBoxSizer (new wxStaticBox (this, -1, wxT ("By card type")), wxVERTICAL); wxBoxSizer *pCardTypeSizer = new wxBoxSizer(wxVERTICAL); for (unsigned int i = 0; i < pUIData->GetTypes()->GetCount(); i++) { BuildType(i, pTypeBox); } m_pCombo = new wxCheckBox (this, -1, wxT ("Combo")); wxBoxSizer *pComboSizer = new wxBoxSizer (wxHORIZONTAL); wxString sComboIconName (wxT ("Type Combo")); wxStaticBitmap *pComboIcon = pUIData->MakeStaticBitmap (this, sComboIconName); if (pComboIcon) pComboSizer->Add (pComboIcon, 0, wxRIGHT, 5); pComboSizer->Add (m_pCombo); m_pReflex = new wxCheckBox (this, -1, wxT ("Reflex")); wxBoxSizer *pReflexSizer = new wxBoxSizer (wxHORIZONTAL); wxString sReflexIconName (wxT ("Type Reflex")); wxStaticBitmap *pReflexIcon = pUIData->MakeStaticBitmap(this, sReflexIconName); if (pReflexIcon) pReflexSizer->Add(pReflexIcon, 0, wxRIGHT, 5); pReflexSizer->Add (m_pReflex); #ifdef __WXMSW__ // this looks nicer in Windows pTypeBox->Add (pComboSizer, 0, wxALL, 3); pTypeBox->Add (pReflexSizer, 0, wxALL, 3); #else pTypeBox->Add (pComboSizer); pTypeBox->Add (pReflexSizer); #endif pPapaSizer->Add(pCardTypeSizer, 0, wxEXPAND | wxALL, 5); pCardTypeSizer->Add(pTypeBox, 0, wxEXPAND); // The Clans and Disciplines Sizer wxBoxSizer *pClanDiscSizer = new wxBoxSizer (wxVERTICAL); pPapaSizer->Add(pClanDiscSizer, 1, wxEXPAND | wxALL, 5); // The Disciplines list wxStaticBoxSizer *pDisciplineBox = new wxStaticBoxSizer (new wxStaticBox (this, -1, wxT ("By discipline")), wxVERTICAL); m_pDisciplineList = new wxListView (this, -1, wxDefaultPosition, wxSize (200, 75), wxLC_REPORT | wxLC_NO_HEADER); m_pDisciplineList->InsertColumn (0, wxEmptyString); for (unsigned int i = 0; i < pUIData->GetLibraryDisciplines ()->GetCount (); i++) { m_pDisciplineList->InsertItem (i, pUIData->GetLibraryDisciplines ()->Item (i)[0]); } pDisciplineBox->Add (m_pDisciplineList, 1, wxEXPAND | wxTOP, 5); m_pMultiDiscipline = new wxCheckBox (this, -1, wxT ("Multi Discipline")); m_pDisciplineLess = new wxCheckBox (this, ID_CHECK_DISCLESS, wxT ("Disciplineless")); #ifdef __WXMSW__ // this looks nicer in Windows pDisciplineBox->Add (m_pMultiDiscipline, 0, wxALL, 3); pDisciplineBox->Add (m_pDisciplineLess, 0, wxALL, 3); #else pDisciplineBox->Add (m_pMultiDiscipline); pDisciplineBox->Add (m_pDisciplineLess); #endif pClanDiscSizer->Add (pDisciplineBox, 1, wxEXPAND); // the Titles and Other sizers wxBoxSizer *pTitleOtherSizer = new wxBoxSizer (wxVERTICAL); pPapaSizer->Add (pTitleOtherSizer, 1, wxEXPAND | wxALL, 5); // Titles wxStaticBoxSizer *pTitleBox = new wxStaticBoxSizer (new wxStaticBox (this, -1, wxT ("By title")), wxVERTICAL); m_pTitleList = new wxListView (this, -1, wxDefaultPosition, wxSize (200, 75), wxLC_REPORT | wxLC_NO_HEADER); m_pTitleList->InsertColumn (0, wxEmptyString); // here we won't include any of the wildcard titles for (unsigned int i = 0; i < pUIData->GetTitles ()->GetCount () - 2; i++) { m_pTitleList->InsertItem (i, pUIData->GetTitles ()->Item (i)[0]); } pTitleBox->Add (m_pTitleList, 1, wxEXPAND | wxTOP, 5); pTitleOtherSizer->Add (pTitleBox, 0, wxEXPAND); // Clans wxStaticBoxSizer *pClanBox = new wxStaticBoxSizer (new wxStaticBox (this, -1, wxT ("By clan")), wxVERTICAL); m_pClanList = new wxListView (this, -1, wxDefaultPosition, wxSize (200, 75), wxLC_REPORT | wxLC_NO_HEADER); m_pClanList->InsertColumn (0, wxEmptyString); for (unsigned int i = 0; i < pUIData->GetClans ()->GetCount (); i++) { m_pClanList->InsertItem (i, pUIData->GetClans ()->Item (i)); } pClanBox->Add (m_pClanList, 1, wxEXPAND | wxTOP, 5); wxGridSizer *pAnarchEtcSizer = new wxGridSizer (2); pClanBox->Add (pAnarchEtcSizer); m_pClanLess = new wxCheckBox (this, ID_CHECK_CLANLESS, wxT ("Clanless")); #ifdef __WXMSW__ // this looks nicer in Windows pAnarchEtcSizer->Add (m_pClanLess, 0, wxALL, 3); #else pAnarchEtcSizer->Add (m_pClanLess); #endif pClanDiscSizer->Add (pClanBox, 1, wxEXPAND); // Editions wxStaticBoxSizer *pEditionBox = new wxStaticBoxSizer (new wxStaticBox (this, -1, wxT ("By set")), wxHORIZONTAL); wxBoxSizer *pEditionSizer = new wxBoxSizer (wxVERTICAL); pEditionBox->Add (pEditionSizer, 1, wxEXPAND); m_pEditionList = new wxListView (this, -1, wxDefaultPosition, wxSize (200, 75), wxLC_REPORT | wxLC_NO_HEADER); m_pEditionList->InsertColumn (0, wxEmptyString); for (unsigned int i = 0; i < pUIData->GetEditions ()->GetCount (); i++) { m_pEditionList->InsertItem (i, pUIData->GetEditions ()->Item (i)); } pEditionSizer->Add (m_pEditionList, 1, wxEXPAND | wxTOP, 5); pTitleOtherSizer->Add (pEditionBox, 1, wxEXPAND); // Rarity wxStaticBoxSizer *pRarityBox = new wxStaticBoxSizer (new wxStaticBox (this, -1, wxT ("By rarity")), wxHORIZONTAL); wxBoxSizer *pRaritySizer = new wxBoxSizer (wxVERTICAL); pRarityBox->Add (pRaritySizer, 1, wxEXPAND); m_pRarityList = new wxListView (this, -1, wxDefaultPosition, wxSize (200, 75), wxLC_REPORT | wxLC_NO_HEADER); m_pRarityList->InsertColumn (0, wxEmptyString); for (unsigned int i = 0; i < pUIData->GetRarities ()->GetCount (); i++) { m_pRarityList->InsertItem (i, pUIData->GetRarities ()->Item (i)[0]); } pRaritySizer->Add (m_pRarityList, 1, wxEXPAND | wxTOP, 5); pTitleOtherSizer->Add (pRarityBox, 1, wxEXPAND); // Card text wxStaticBoxSizer *pTextBox = new wxStaticBoxSizer (new wxStaticBox (this, -1, wxT ("By card text")), wxVERTICAL); wxFlexGridSizer *pTextSizer = new wxFlexGridSizer (2, 5, 5); wxStaticText *pLabel = new wxStaticText (this, -1, wxT ("Card name :")); pTextSizer->Add (pLabel, 0, wxALIGN_CENTER_VERTICAL); m_pCardNameText = new wxTextCtrl (this, -1, wxT (""), wxDefaultPosition, wxSize (150, -1)); pTextSizer->Add (m_pCardNameText, 1, wxEXPAND); wxStaticText *pLabel2 = new wxStaticText (this, -1, wxT ("Other text :")); pTextSizer->Add (pLabel2, 0, wxALIGN_CENTER_VERTICAL); m_pOtherText = new wxTextCtrl (this, -1, wxT (""), wxDefaultPosition, wxSize (150, -1)); pTextSizer->Add (m_pOtherText, 1, wxEXPAND); pTextBox->Add (pTextSizer, 1, wxEXPAND | wxTOP, 5); pTitleOtherSizer->Add (pTextBox, 0, wxEXPAND); // Other (cost blood, pool, burn option, etc..) wxStaticBoxSizer *pOtherBox = new wxStaticBoxSizer (new wxStaticBox (this, -1, wxT ("Other")), wxVERTICAL); wxFlexGridSizer *pOtherSizer = new wxFlexGridSizer (2,2); pOtherBox->Add (pOtherSizer, 1, wxEXPAND | wxTOP, 5); for (unsigned int i = 0; i < pUIData->GetLibraryReqs ()->GetCount (); i++) { BuildLibraryReqs (i, pOtherSizer, this); } for (unsigned int i = 0; i < pUIData->GetLibraryTexts ()->GetCount (); i++) { BuildLibraryTexts (i, pOtherSizer, this); } m_pCostBlood = new wxCheckBox (this, -1, wxT ("Cost Blood")); m_pCostPool = new wxCheckBox (this, -1, wxT ("Cost Pool")); m_pHave = new wxCheckBox (this, -1, wxT ("Have Only")); m_pHaveOrWant = new wxCheckBox (this, -1, wxT ("Have or Want")); pOtherSizer->Add(m_pCostBlood, 0, wxALL, 3); pOtherSizer->Add(m_pCostPool, 0, wxALL, 3); pOtherSizer->Add(m_pHave, 0, wxALL, 3); pOtherSizer->Add(m_pHaveOrWant, 0, wxALL, 3); pClanDiscSizer->Add(pOtherBox, 0, wxEXPAND); // OK, Clear and Cancel buttons wxBoxSizer *pOKCancelSizer = new wxBoxSizer (wxHORIZONTAL); m_pOKButton = new wxButton (this, ID_OK_BUTTON, wxT ("OK")); pOKCancelSizer->Add (m_pOKButton, 0, wxRIGHT | wxALIGN_BOTTOM, 5); m_pClearButton = new wxButton (this, ID_CLEAR_BUTTON, wxT ("Clear All")); pOKCancelSizer->Add (m_pClearButton, 0, wxRIGHT | wxALIGN_BOTTOM, 5); m_pCancelButton = new wxButton (this, ID_CANCEL_BUTTON, wxT ("Cancel")); pOKCancelSizer->Add (m_pCancelButton, 0, wxRIGHT | wxALIGN_BOTTOM, 5); pPapaSizerV->Add (pOKCancelSizer, 1, wxALIGN_RIGHT | wxALL, 5); pPapaSizerV->Layout (); pPapaSizerV->Fit (this); m_pClanList->SetColumnWidth (0, m_pClanList->GetClientSize ().GetWidth () - 20); m_pDisciplineList->SetColumnWidth (0, m_pDisciplineList->GetClientSize ().GetWidth () - 20); m_pTitleList->SetColumnWidth (0, m_pTitleList->GetClientSize ().GetWidth () - 20); m_pEditionList->SetColumnWidth (0, m_pEditionList->GetClientSize ().GetWidth () - 20); m_pRarityList->SetColumnWidth (0, m_pRarityList->GetClientSize ().GetWidth () - 20); SetIcon (*g_pIcon); }