CharAlignment::CharAlignment(CharGenChoices &choices, ::Engines::Console *console) : CharGenBase(console) { _choices = &choices; _loyalty = 101; _goodness = 101; load("cg_alignment"); getEditBox("HelpEdit", true)->setTitle("fnt_galahad14", TalkMan.getString(111)); getEditBox("HelpEdit", true)->setText("fnt_galahad14", TalkMan.getString(458)); _buttons = new ButtonsGroup(getEditBox("HelpEdit", true)); uint textID = 448; _buttons->addButton(getButton("CEButton"), TalkMan.getString(120), TalkMan.getString(textID)); _buttons->addButton(getButton("CGButton"), TalkMan.getString(118), TalkMan.getString(++textID)); _buttons->addButton(getButton("CNButton"), TalkMan.getString(119), TalkMan.getString(++textID)); _buttons->addButton(getButton("LEButton"), TalkMan.getString(114), TalkMan.getString(++textID)); _buttons->addButton(getButton("LGButton"), TalkMan.getString(112), TalkMan.getString(++textID)); _buttons->addButton(getButton("LNButton"), TalkMan.getString(113), TalkMan.getString(++textID)); _buttons->addButton(getButton("NEButton"), TalkMan.getString(117), TalkMan.getString(++textID)); _buttons->addButton(getButton("NGButton"), TalkMan.getString(115), TalkMan.getString(++textID)); _buttons->addButton(getButton("TNButton"), TalkMan.getString(116), TalkMan.getString(++textID)); getButton("OkButton", true)->setDisabled(true); //TODO Recommend button for alignment. getWidget("RecommendButton", true)->setDisabled(true); }
void CharSchool::reset() { _buttons->setActive(getButton("General", true)); getEditBox("HelpBox", true)->setTitle("fnt_galahad14", TalkMan.getString(381)); getEditBox("HelpBox", true)->setText("fnt_galahad14", TalkMan.getString(381), 1.0f); _choices->setSpellSchool(UINT8_MAX); }
void CharRace::reset() { _buttons->setActive(getButton("HumanButton", true)); getEditBox("HelpBox", true)->setTitle("fnt_galahad14", TalkMan.getString(481)); getEditBox("HelpBox", true)->setText("fnt_galahad14", TalkMan.getString(485), 1.0f); // Set human as default race. _choices->setCharRace(6); }
void CharAlignment::reset() { getEditBox("HelpEdit", true)->setTitle("fnt_galahad14", TalkMan.getString(111)); getEditBox("HelpEdit", true)->setText("fnt_galahad14", TalkMan.getString(458)); getButton("OkButton", true)->setDisabled(true); _buttons->setAllInactive(); _goodness = 101; _loyalty = 101; _choices->setCharAlign(_goodness, _loyalty); }
void CharDomain::updateChosenDomains() { float pX, pY, pZ; getEditBox("DomainDesc")->getPosition(pX, pY, pZ); float nX, nY, nZ; for (size_t dom = 0; dom < _chosenDomains.size(); ++dom) { getEditBox("DomainDesc")->getNode("domain" + Common::composeString<size_t>(dom + 1))->getPosition(nX, nY, nZ); _chosenDomains[dom]->setPosition(nX + pX,nY + pY,nZ + pZ - 100.f); _chosenDomains[dom]->show(); } }
CharSex::CharSex(CharGenChoices &choices, ::Engines::Console *console) : CharGenBase(console) { _choices = &choices; load("cg_sex"); getEditBox("HelpBox", true)->setTitle("fnt_galahad14", TalkMan.getString(203)); getEditBox("HelpBox", true)->setText("fnt_galahad14", TalkMan.getString(447), 1.0f); _buttons.reset(new ButtonsGroup(getEditBox("HelpBox", true))); _buttons->addButton(getButton("MaleButton", true), TalkMan.getString(203), TalkMan.getString(199)); _buttons->addButton(getButton("FemaleButton", true), TalkMan.getString(203), TalkMan.getString(200)); getButton("MaleButton", true)->setPressed(true); }
CharRace::CharRace(CharGenChoices &choices, ::Engines::Console *console) : CharGenBase(console) { _choices = &choices; load("cg_race"); // TODO Implement subrace. getWidget("SubRaceButton", true)->setDisabled(true); // Init buttons and helpbox. _buttons = new ButtonsGroup(getEditBox("HelpBox", true)); uint textID = 251; uint titleID = 1985; _buttons->addButton(getButton("DwarfButton", true), TalkMan.getString(titleID), TalkMan.getString(textID)); _buttons->addButton(getButton("ElfButton", true), TalkMan.getString(++titleID), TalkMan.getString(++textID)); _buttons->addButton(getButton("GnomeButton", true), TalkMan.getString(++titleID), TalkMan.getString(++textID)); _buttons->addButton(getButton("HalflingButton", true), TalkMan.getString(++titleID), TalkMan.getString(++textID)); _buttons->addButton(getButton("HalfElfButton", true), TalkMan.getString(++titleID), TalkMan.getString(++textID)); _buttons->addButton(getButton("HalfOrcButton", true), TalkMan.getString(++titleID), TalkMan.getString(++textID)); _buttons->addButton(getButton("HumanButton", true), TalkMan.getString(++titleID), TalkMan.getString(++textID)); reset(); }
void CharPackage::createPackageList() { _packageListBox->lock(); _packageListBox->clear(); _packageListBox->setMode(WidgetListBox::kModeSelectable); _helpTexts.clear(); _packageID.clear(); _packageNames.clear(); const Aurora::TwoDAFile &twoda = TwoDAReg.get2DA("packages"); for (size_t it = 0; it < twoda.getRowCount(); ++it) { const Aurora::TwoDARow &row = twoda.getRow(it); if (row.getInt("PlayerClass") == 0 || row.getInt("ClassID") != (int) _choices->getClass() || row.getInt("Name") == 0) continue; _helpTexts.push_back(TalkMan.getString(row.getInt("Description"))); _packageNames.push_back(TalkMan.getString(row.getInt("Name"))); WidgetListItemButton *packagetItem = new WidgetListItemButton(*this, "ctl_cg_btn_class", TalkMan.getString(row.getInt("Name")), ""); _packageListBox->add(packagetItem); _packageID.push_back(it); } _packageListBox->unlock(); // Set previous choice if any. uint32 package = _choices->getPackage(); if (package == 10000) { getEditBox("HelpBox", true)->setTitle("fnt_galahad14", TalkMan.getString(483)); getEditBox("HelpBox", true)->setText("fnt_galahad14", TalkMan.getString(487)); _packageListBox->select(0); return; } size_t p = 0; for (;p < _packageID.size(); ++p) { if (_packageID[p] == package) break; } _packageListBox->select(p); }
void CharPackage::callbackActive(Widget &widget) { if (widget.getTag() == "OkButton") { _choices->setCharPackage(_packageID[_packageListBox->getSelected()]); _returnCode = 2; return; } if (widget.getTag() == "CancelButton") { _returnCode = 1; return; } if (widget.getTag() == "ClassListBox") { size_t choice = _packageListBox->getSelected(); getEditBox("HelpBox", true)->setText("fnt_galahad14", _helpTexts[choice]); getEditBox("HelpBox", true)->setTitle("fnt_galahad14", _packageNames[choice]); } }
void CharDomain::moveDomain(WidgetListItemDomain *item) { getEditBox("DomainDesc", true)->setText("fnt_galahad14", item->_description); getLabel("DomainName", true)->setText(item->_name); // Check if the item belongs to the listbox or not and moves it. if (item->_isRight) { if (_chosenDomains.size() > 1) return; _domainListBox->lock(); _domainListBox->remove(item); item->changeArrowDirection(); _domainListBox->unlock(); _chosenDomains.push_back(item); _domainListBox->addSub(*item); for (std::vector<WidgetListItem *>::iterator it = _domainListBox->begin(); it != _domainListBox->end(); ++it) { (*it)->addGroupMember(*item); item->addGroupMember(**it); } if (_chosenDomains.size() == 2) getButton("OkButton")->setDisabled(false); } else { _domainListBox->lock(); _domainListBox->add(item, true); item->changeArrowDirection(); _domainListBox->sortByTag(); _domainListBox->unlock(); std::vector<WidgetListItemDomain *>::iterator itItem; for (std::vector<WidgetListItemDomain *>::iterator i = _chosenDomains.begin(); i != _chosenDomains.end(); ++i) { if (*i == item) itItem = i; } _chosenDomains.erase(itItem); if (_chosenDomains.size() < 2) getButton("OkButton")->setDisabled(true); } updateChosenDomains(); item->activate(); }
CharSchool::CharSchool(CharGenChoices &choices, Console *console) : CharGenBase(console) { _choices = &choices; load("cg_school"); // Init buttons and helpbox. _buttons = new ButtonsGroup(getEditBox("HelpBox", true)); uint32 textID = 10320; uint32 titleID = 373; _buttons->addButton(getButton("General", true), TalkMan.getString(5633), TalkMan.getString(5634)); _buttons->addButton(getButton("Abjuration", true), TalkMan.getString(titleID), TalkMan.getString(textID)); _buttons->addButton(getButton("Conjuration", true), TalkMan.getString(++titleID), TalkMan.getString(++textID)); _buttons->addButton(getButton("Divination", true), TalkMan.getString(++titleID), TalkMan.getString(++textID)); _buttons->addButton(getButton("Enchantment", true), TalkMan.getString(++titleID), TalkMan.getString(++textID)); _buttons->addButton(getButton("Evocation", true), TalkMan.getString(++titleID), TalkMan.getString(++textID)); _buttons->addButton(getButton("Illusion", true), TalkMan.getString(++titleID), TalkMan.getString(++textID)); _buttons->addButton(getButton("Necromancy", true), TalkMan.getString(++titleID), TalkMan.getString(++textID)); _buttons->addButton(getButton("Transmutation", true), TalkMan.getString(++titleID), TalkMan.getString(++textID)); reset(); }
void CharPackage::reset() { getEditBox("HelpBox", true)->setTitle("fnt_galahad14", TalkMan.getString(483)); getEditBox("HelpBox", true)->setText("fnt_galahad14", TalkMan.getString(487)); _choices->setCharPackage(10000); }
void CharSex::reset() { _buttons->setActive(getButton("MaleButton", true)); getEditBox("HelpBox", true)->setTitle("fnt_galahad14", TalkMan.getString(203)); getEditBox("HelpBox", true)->setText("fnt_galahad14", TalkMan.getString(447), 1.0f); }