You can subscribe to this list here.
| 2004 |
Jan
(32) |
Feb
|
Mar
|
Apr
(151) |
May
(7) |
Jun
(3) |
Jul
(8) |
Aug
|
Sep
(2) |
Oct
(15) |
Nov
|
Dec
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2005 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Tim R. <gna...@us...> - 2005-04-26 22:59:48
|
Update of /cvsroot/darkeyetool/det/src/gui In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4082/src/gui Modified Files: Tag: gnaddelwarz-steigern PersonGUIwx.cpp PersonGUIwx.h Added Files: Tag: gnaddelwarz-steigern PersonGUISteigernHelferwx.cpp PersonGUISteigernHelferwx.h Log Message: Man kann jetzt Charaktere steigern (noch unvollständig) (Implementierung zunächst in Extra-Branch) --- NEW FILE: PersonGUISteigernHelferwx.h --- // PersonGUISteigernHelferwx.h: Implementierung eines // Hilfsfensters zur Heldensteigerung // // $Revision: 1.1.2.1 $ // $Date: 2005/04/26 22:59:36 $ // The content of this file is subject to the license // given in license.txt // #ifdef MSVC # pragma warning(disable:4786 4503) #endif #ifndef PERSONGUISTEIGERNHELFERWX_H # define PERSONGUISTEIGERNHELFERWX_H # include "wx/frame.h" # include "InfoGUIwx.h" # include "wx/stattext.h" //#include "NDSABasis.h" class wxTextCtrl; namespace DSA { class PersonHandlerSteigern; } //! Hilfsfenster bei der Heldensteigerung class PersonGUISteigernHelferwx:public wxFrame { public: PersonGUISteigernHelferwx(wxWindow * parent, const wxString & title, DSA::PersonHandlerSteigern * stei); virtual ~ PersonGUISteigernHelferwx(); void Update(); bool Beenden(); // void ZeigeAPInfo(); // void APInfo(const std::string & text); enum GuiObjektID { BTABBRECHEN = 5000, BTOK, //BTAPINFO, UNBEKANNT = -1 }; private: DSA::PersonHandlerSteigern * stei_; // InfoGUIwx *apinfo_; wxStaticText *ap_; wxStaticText *anzahlAktivierterTalente_; wxStaticText *anzahlAktivierterZauber_; wxStaticText *nachricht_; void MacheBezeichnerWertPaar(const std::string & bezeichner, wxStaticText * &wert, wxSizer * sizer, wxWindow * w); std::string XvonY(int X, int Y); }; // PersonGUISteigernrHelferwx #endif // $Log: PersonGUISteigernHelferwx.h,v $ // Revision 1.1.2.1 2005/04/26 22:59:36 gnaddelwarz // Man kann jetzt Charaktere steigern (noch unvollständig) // (Implementierung zunächst in Extra-Branch) // --- NEW FILE: PersonGUISteigernHelferwx.cpp --- // PersonGUIGeneratorHelferwx.cpp: Implementierung eines // Hilfsfensters zur Erschaffung von Personen // // $Revision: 1.1.2.1 $ // $Date: 2005/04/26 22:59:36 $ // The content of this file is subject to the license // given in license.txt #ifdef MSVC # pragma warning(disable:4786 4503) #endif #if defined(__WXGTK__) || defined(__WXMOTIF__) # include "dsa.xpm.h" #endif #include "dsa/PersonHandlerSteigern.h" #include "dsa/NDSAUtil.h" #include "wx/sizer.h" #include "wx/button.h" #include "wx/textctrl.h" #include "wx/stattext.h" #include "wx/statbmp.h" #include "wx/settings.h" #include "wx/msgdlg.h" #include "PersonGUISteigernHelferwx.h" #ifdef _DEBUG # undef THIS_FILE static char THIS_FILE[] = __FILE__; //#define new DEBUG_NEW #endif ////////////////////////////////////////////////////////////////////// // Konstruktion/Destruktion ////////////////////////////////////////////////////////////////////// PersonGUISteigernHelferwx::PersonGUISteigernHelferwx (wxWindow * parent, const wxString & title, DSA::PersonHandlerSteigern * stei) :wxFrame(parent, -1, title, wxDefaultPosition, wxDefaultSize, wxCAPTION | wxFRAME_FLOAT_ON_PARENT | wxRESIZE_BORDER), stei_(stei) { this->SetBackgroundColour(parent->GetBackgroundColour()); // set the window icon SetIcon(wxICON(DSA)); // apinfo_ = new InfoGUIwx(this); // apinfo_->Show(false); wxBoxSizer *allSizer = new wxBoxSizer(wxVERTICAL); MacheBezeichnerWertPaar(_t("verbrauchte Generierungspunkte"), ap_, allSizer, this); MacheBezeichnerWertPaar(_t("Anzahl aktivierter Talente"), anzahlAktivierterTalente_, allSizer, this); MacheBezeichnerWertPaar(_t("Anzahl aktivierter Zauber"), anzahlAktivierterZauber_, allSizer, this); nachricht_ = new wxStaticText(this, -1, "", wxPoint(), wxDefaultSize, wxTE_READONLY | wxNO_BORDER); nachricht_->SetBackgroundColour(GetBackgroundColour()); allSizer->Add(nachricht_, 1, wxEXPAND | wxTOP | wxLEFT | wxRIGHT, 10); // die Ereignisse werden in der darüberliegenden Klasse PersonGUIwx behandelt allSizer->Add(new wxButton(this, BTOK, _t("OK").c_str()), 0, wxEXPAND); // allSizer->Add(new wxButton(this, BTAPINFO, _t("AP aufschlüsseln").c_str()), 0, wxEXPAND); allSizer->Add(new wxButton(this, BTABBRECHEN, _t("Abbrechen").c_str()), 0, wxEXPAND); SetAutoLayout(true); SetSizer(allSizer); allSizer->Fit(this); SetSize(300, 330); // Aus dem Weg... int xRand = wxSystemSettings::GetMetric(wxSYS_SCREEN_X) - 320; // TODOPORT //int yRand = wxSystemSettings::GetMetric(wxSYS_SCREEN_Y)-320; int x = parent->GetPosition().x + parent->GetSize().GetWidth() + 10; if (x > xRand) { if (parent->GetPosition().x > 320) x = parent->GetPosition().x - 320; else x = xRand; } int y = parent->GetPosition().y + 20; Move(x, y); Update(); } PersonGUISteigernHelferwx::~PersonGUISteigernHelferwx() { } std::string PersonGUISteigernHelferwx::XvonY(int X, int Y) { return strings::int2sStr(X) + "/" + strings::int2sStr(Y); } //void PersonGUISteigernHelferwx::ZeigeAPInfo() { // apinfo_->Show(true); //} //void PersonGUISteigernHelferwx::APInfo(const std::string& text) { // apinfo_->Text(text); //} void PersonGUISteigernHelferwx::Update() { ap_->SetLabel(XvonY(stei_->APV(), stei_->AP()).c_str()); anzahlAktivierterTalente_->SetLabel (XvonY(stei_->AktivierteTalente(), stei_->AktivierteTalenteMax()). c_str()); anzahlAktivierterZauber_-> SetLabel(XvonY (stei_->AktivierteZauber(), stei_->AktivierteZauberMax()).c_str()); nachricht_->SetLabel(stei_->SteigernText().c_str()); //APInfo(stei_->aptext_); // falls nicht beendbar // FindWindow(BTOK)->Enable(stei_->GenerierungBeendbar()); FindWindow(BTOK)->Enable(true); } bool PersonGUISteigernHelferwx::Beenden() { return true; /* if (stei_->GenerierungBedingungslosBeendbar()) return true; wxMessageDialog m(this, (stei_->GenerierungBedingungslosBeendbarText() + " " + _t("Generierung dennoch abschließen?")).c_str(), _t("Achtung!").c_str(), wxYES_NO | wxYES_DEFAULT); int rv = m.ShowModal(); return (rv == wxID_YES); */ } void PersonGUISteigernHelferwx::MacheBezeichnerWertPaar (const std::string & bezeichner, wxStaticText * &wert, wxSizer * sizer, wxWindow * w) { wxBoxSizer *hSizer = new wxBoxSizer(wxHORIZONTAL); hSizer->Add(new wxStaticText(w, -1, bezeichner.c_str()), 2, wxALIGN_CENTER_VERTICAL); wert = new wxStaticText(w, -1, "0", wxPoint(), wxSize(150, -1), wxTE_READONLY | wxNO_BORDER); wert->SetBackgroundColour(this->GetBackgroundColour()); hSizer->Add(wert, 1, wxALIGN_CENTER_VERTICAL); sizer->Add(hSizer, 1, wxEXPAND | wxALIGN_CENTER_HORIZONTAL | wxLEFT, 10); // TODO zu hardcodiert } // $Log: PersonGUISteigernHelferwx.cpp,v $ // Revision 1.1.2.1 2005/04/26 22:59:36 gnaddelwarz // Man kann jetzt Charaktere steigern (noch unvollständig) // (Implementierung zunächst in Extra-Branch) // Index: PersonGUIwx.h =================================================================== RCS file: /cvsroot/darkeyetool/det/src/gui/PersonGUIwx.h,v retrieving revision 1.24 retrieving revision 1.24.2.1 diff -u -d -r1.24 -r1.24.2.1 --- PersonGUIwx.h 12 Jul 2004 16:24:27 -0000 1.24 +++ PersonGUIwx.h 26 Apr 2005 22:59:36 -0000 1.24.2.1 @@ -18,22 +18,25 @@ //@@c #ifdef MSVC -#pragma warning(disable:4786 4503) +# pragma warning(disable:4786 4503) #endif //@-node:<< header >> //@nl #if !defined(PERSONGUIWX_H) -#define PERSONGUIWX_H +# define PERSONGUIWX_H //@<< includes >> //@+node:<< includes >> -#include "MengeGUIwx.h" -#include <wx/grid.h> -#include <wx/notebook.h> -#include "dsa/NDSABasis.h" +# include "MengeGUIwx.h" +# include <wx/grid.h> +# include <wx/notebook.h> +# include "dsa/NDSABasis.h" -namespace DSA { class PersonHandler; } +namespace DSA +{ + class PersonHandler; +} class wxTextCtrl; class wxSizer; class wxBoxSizer; @@ -43,425 +46,447 @@ class wxNotebookSizer; class wxGrid; class PersonGUIGeneratorHelferwx; +class PersonGUISteigernHelferwx; class PersonGUIRassewx; class PersonGUIKulturwx; class PersonGUIProfessionwx; + //@-node:<< includes >> //@nl //! Fenster zum Darstellen und Editieren von Personen //@<< class PersonGUIwx >> //@+node:<< class PersonGUIwx >> -class PersonGUIwx : public MengeGUIwx<DSA::Personen> { -public: - PersonGUIwx(wxWindow* parent); - PersonGUIwx(wxWindow* parent, DSA::Person def); - virtual ~PersonGUIwx(); +class PersonGUIwx:public MengeGUIwx < DSA::Personen > +{ + public: + PersonGUIwx(wxWindow * parent); + PersonGUIwx(wxWindow * parent, DSA::Person def); + virtual ~ PersonGUIwx(); - void HandlerArt(const std::string& art); - std::string HandlerArt(); + void HandlerArt(const std::string & art); + std::string HandlerArt(); - void Update(); - void UpdateIDs(); -private: - void UpdateTitel(); + void Update(); + void UpdateIDs(); + private: + void UpdateTitel(); - void UpdateUebersicht(); - void UpdateKompakt(); - void UpdateBasis(); - void UpdateCharSF(); - void UpdateTalente(); - void UpdateKampf(); - void UpdateMagie(); - void UpdateInventar(); - void UpdateExtra(); + void UpdateUebersicht(); + void UpdateKompakt(); + void UpdateBasis(); + void UpdateCharSF(); + void UpdateTalente(); + void UpdateKampf(); + void UpdateMagie(); + void UpdateInventar(); + void UpdateExtra(); - DSA::PersonHandler* person_; + DSA::PersonHandler * person_; //@<< ObjektIDs >> //@+node:<< ObjektIDs >> -enum GuiObjektID { - NOTEBOOK = 27278, - UEBERNAME, UEBERID, UEBERGESCHLECHT, - UEBERNAMEBTN, UEBERIDBTN, UEBERGESCHLECHTBTN, - UEBERRASSEBTN, UEBERKULTURBTN, UEBERPROFESSIONBTN, - KOMPAKTNAME, - KOMPAKTNAMEBTN, - KOMPAKTRASSEBTN, KOMPAKTKULTURBTN, KOMPAKTPROFESSIONBTN, - KOMPAKTMUPLUS, KOMPAKTMUMINUS, - KOMPAKTKLPLUS, KOMPAKTKLMINUS, - KOMPAKTINPLUS, KOMPAKTINMINUS, - KOMPAKTFFPLUS, KOMPAKTFFMINUS, - KOMPAKTGEPLUS, KOMPAKTGEMINUS, - KOMPAKTCHPLUS, KOMPAKTCHMINUS, - KOMPAKTKKPLUS, KOMPAKTKKMINUS, - KOMPAKTKOPLUS, KOMPAKTKOMINUS, - KOMPAKTLEPLUS, KOMPAKTLEMINUS, - KOMPAKTAUPLUS, KOMPAKTAUMINUS, - KOMPAKTATPLUS, KOMPAKTATMINUS, - KOMPAKTPAPLUS, KOMPAKTPAMINUS, - KOMPAKTFKPLUS, KOMPAKTFKMINUS, - KOMPAKTINIPLUS, KOMPAKTINIMINUS, - KOMPAKTMRPLUS, KOMPAKTMRMINUS, - KOMPAKTAEPLUS, KOMPAKTAEMINUS, - KOMPAKTSOPLUS, KOMPAKTSOMINUS, - KOMPAKTCHAR, - KOMPAKTCHARNEU, KOMPAKTCHARPLUS, KOMPAKTCHARMINUS, - KOMPAKTCHAREXTRA, - KOMPAKTSF, - KOMPAKTSFNEU, KOMPAKTSFPLUS, KOMPAKTSFMINUS, - KOMPAKTSFEXTRA, - KOMPAKTTALENTE, - KOMPAKTTALENTPLUS, KOMPAKTTALENTMINUS, - KOMPAKTTALENTNEU, KOMPAKTTALENTSPEZIAL, - KOMPAKTTALENTATPLUS, KOMPAKTTALENTPAPLUS, - KOMPAKTAUGENFARBEWURF, KOMPAKTHAUPTFARBEWURF, - KOMPAKTGROESSEWURF, KOMPAKTALTERWURF, - KOMPAKTGESCHLECHT, - BASISMUPLUS, BASISMUMINUS, BASISMUMOD, - BASISKLPLUS, BASISKLMINUS, BASISKLMOD, - BASISINPLUS, BASISINMINUS, BASISINMOD, - BASISFFPLUS, BASISFFMINUS, BASISFFMOD, - BASISGEPLUS, BASISGEMINUS, BASISGEMOD, - BASISCHPLUS, BASISCHMINUS, BASISCHMOD, - BASISKKPLUS, BASISKKMINUS, BASISKKMOD, - BASISKOPLUS, BASISKOMINUS, BASISKOMOD, - BASISLEPLUS, BASISLEMINUS, BASISLEMOD, - BASISAUPLUS, BASISAUMINUS, BASISAUMOD, - BASISATPLUS, BASISATMINUS, BASISATMOD, - BASISPAPLUS, BASISPAMINUS, BASISPAMOD, - BASISFKPLUS, BASISFKMINUS, BASISFKMOD, - BASISINIPLUS, BASISINIMINUS, BASISINIMOD, - BASISMRPLUS, BASISMRMINUS, BASISMRMOD, - BASISAEPLUS, BASISAEMINUS, BASISAEMOD, - BASISSOPLUS, BASISSOMINUS, BASISSOMOD, - TALENTNOTEBOOK, - TALENTKAMPFNEU, TALENTKOERPERNEU, - TALENTGESELLSCHAFTNEU, TALENTNATURNEU, - TALENTWISSENNEU, TALENTSSNEU, - TALENTHANDWERKNEU, TALENTGABENEU, - TALENTTALWERTPLUS, TALENTTALWERTMINUS, - TALENTTALAUFAT, TALENTTALAUFPA, - CHARVOR, CHARVORNEU, - CHARVORPLUS, CHARVORMINUS, CHARVOREXTRA, - CHARNACH, CHARNACHNEU, - CHARNACHPLUS, CHARNACHMINUS, CHARNACHEXTRA, - CHARSF, CHARSFNEU, - CHARSFPLUS, CHARSFMINUS, CHARSFEXTRA, - MAGIEZAUBERPLUS, MAGIEZAUBERMINUS, - MAGIEZAUBERNEU, - WEITERBESCHREIBUNG, - BTDRUCKEN, - BTBETRACHTEN, BTGENERIEREN, BTSTEIGERN, BTEDITIEREN, - GPINFO, - UNBEKANNT = -1 -}; + enum GuiObjektID + { + NOTEBOOK = 27278, + UEBERNAME, UEBERID, UEBERGESCHLECHT, + UEBERNAMEBTN, UEBERIDBTN, UEBERGESCHLECHTBTN, + UEBERRASSEBTN, UEBERKULTURBTN, UEBERPROFESSIONBTN, + KOMPAKTNAME, + KOMPAKTNAMEBTN, + KOMPAKTRASSEBTN, KOMPAKTKULTURBTN, KOMPAKTPROFESSIONBTN, + KOMPAKTMUPLUS, KOMPAKTMUMINUS, + KOMPAKTKLPLUS, KOMPAKTKLMINUS, + KOMPAKTINPLUS, KOMPAKTINMINUS, + KOMPAKTFFPLUS, KOMPAKTFFMINUS, + KOMPAKTGEPLUS, KOMPAKTGEMINUS, + KOMPAKTCHPLUS, KOMPAKTCHMINUS, + KOMPAKTKKPLUS, KOMPAKTKKMINUS, + KOMPAKTKOPLUS, KOMPAKTKOMINUS, + KOMPAKTLEPLUS, KOMPAKTLEMINUS, + KOMPAKTAUPLUS, KOMPAKTAUMINUS, + KOMPAKTATPLUS, KOMPAKTATMINUS, + KOMPAKTPAPLUS, KOMPAKTPAMINUS, + KOMPAKTFKPLUS, KOMPAKTFKMINUS, + KOMPAKTINIPLUS, KOMPAKTINIMINUS, + KOMPAKTMRPLUS, KOMPAKTMRMINUS, + KOMPAKTAEPLUS, KOMPAKTAEMINUS, + KOMPAKTSOPLUS, KOMPAKTSOMINUS, + KOMPAKTCHAR, + KOMPAKTCHARNEU, KOMPAKTCHARPLUS, KOMPAKTCHARMINUS, + KOMPAKTCHAREXTRA, + KOMPAKTSF, + KOMPAKTSFNEU, KOMPAKTSFPLUS, KOMPAKTSFMINUS, + KOMPAKTSFEXTRA, + KOMPAKTTALENTE, + KOMPAKTTALENTPLUS, KOMPAKTTALENTMINUS, + KOMPAKTTALENTNEU, KOMPAKTTALENTSPEZIAL, + KOMPAKTTALENTATPLUS, KOMPAKTTALENTPAPLUS, + KOMPAKTAUGENFARBEWURF, KOMPAKTHAUPTFARBEWURF, + KOMPAKTGROESSEWURF, KOMPAKTALTERWURF, + KOMPAKTGESCHLECHT, + BASISMUPLUS, BASISMUMINUS, BASISMUMOD, + BASISKLPLUS, BASISKLMINUS, BASISKLMOD, + BASISINPLUS, BASISINMINUS, BASISINMOD, + BASISFFPLUS, BASISFFMINUS, BASISFFMOD, + BASISGEPLUS, BASISGEMINUS, BASISGEMOD, + BASISCHPLUS, BASISCHMINUS, BASISCHMOD, + BASISKKPLUS, BASISKKMINUS, BASISKKMOD, + BASISKOPLUS, BASISKOMINUS, BASISKOMOD, + BASISLEPLUS, BASISLEMINUS, BASISLEMOD, + BASISAUPLUS, BASISAUMINUS, BASISAUMOD, + BASISATPLUS, BASISATMINUS, BASISATMOD, + BASISPAPLUS, BASISPAMINUS, BASISPAMOD, + BASISFKPLUS, BASISFKMINUS, BASISFKMOD, + BASISINIPLUS, BASISINIMINUS, BASISINIMOD, + BASISMRPLUS, BASISMRMINUS, BASISMRMOD, + BASISAEPLUS, BASISAEMINUS, BASISAEMOD, + BASISSOPLUS, BASISSOMINUS, BASISSOMOD, + TALENTNOTEBOOK, + TALENTKAMPFNEU, TALENTKOERPERNEU, + TALENTGESELLSCHAFTNEU, TALENTNATURNEU, + TALENTWISSENNEU, TALENTSSNEU, + TALENTHANDWERKNEU, TALENTGABENEU, + TALENTTALWERTPLUS, TALENTTALWERTMINUS, + TALENTTALAUFAT, TALENTTALAUFPA, + CHARVOR, CHARVORNEU, + CHARVORPLUS, CHARVORMINUS, CHARVOREXTRA, + CHARNACH, CHARNACHNEU, + CHARNACHPLUS, CHARNACHMINUS, CHARNACHEXTRA, + CHARSF, CHARSFNEU, + CHARSFPLUS, CHARSFMINUS, CHARSFEXTRA, + MAGIEZAUBERPLUS, MAGIEZAUBERMINUS, + MAGIEZAUBERNEU, + WEITERBESCHREIBUNG, + BTDRUCKEN, + BTBETRACHTEN, BTGENERIEREN, BTSTEIGERN, BTEDITIEREN, + GPINFO, + UNBEKANNT = -1 + }; //@nonl //@-node:<< ObjektIDs >> //@nl //@<< Widgets >> //@+node:<< Widgets >> - wxNotebookSizer* nbSizer_; - wxNotebook* notebook_; - std::auto_ptr<wxBitmap> pfeil_; - std::auto_ptr<wxBitmap> pfeilKlein_; - std::auto_ptr<wxBitmap> wuerfelKlein_; + wxNotebookSizer *nbSizer_; + wxNotebook *notebook_; + std::auto_ptr < wxBitmap > pfeil_; + std::auto_ptr < wxBitmap > pfeilKlein_; + std::auto_ptr < wxBitmap > wuerfelKlein_; - PersonGUIGeneratorHelferwx* generatorHelfer_; - PersonGUIRassewx* generatorRasse_; - PersonGUIKulturwx* generatorKultur_; - PersonGUIProfessionwx* generatorProfession_; + PersonGUIGeneratorHelferwx *generatorHelfer_; + PersonGUIRassewx *generatorRasse_; + PersonGUIKulturwx *generatorKultur_; + PersonGUIProfessionwx *generatorProfession_; - //@ << Überblick >> - //@+node:<< Überblick >> - wxTextCtrl* ueberName_; - wxTextCtrl* ueberID_; - wxTextCtrl* ueberGeschlecht_; - wxTextCtrl* ueberRasse_; - wxTextCtrl* ueberKultur_; - wxTextCtrl* ueberProfession_; - //@-node:<< Überblick >> - //@nl - //@ << Basis >> - //@+node:<< Basis >> - wxStaticText* basisEigenschaftWert_[DSA::AnzahlEigenschaften]; - wxStaticText* basisEigenschaftBasisWert_[DSA::AnzahlEigenschaften]; - wxStaticText* basisEigenschaftModWert_[DSA::AnzahlEigenschaften]; - wxStaticText* basisEigenschaftMaxWert_[DSA::AnzahlEigenschaften]; - wxStaticText* basisAbgeleiteterWert_[DSA::AnzahlAbgeleiteterWerte]; - wxStaticText* basisAbgeleiteterBasisWert_[DSA::AnzahlAbgeleiteterWerte]; - wxStaticText* basisAbgeleiteterModWert_[DSA::AnzahlAbgeleiteterWerte]; - wxStaticText* basisModifikatorenTitel_; - wxListBox* basisModifikatoren_; - bool basisAbgeleitet_; - DSA::AbgeleiteterWertArt basisAbgeleiteterWertArt_; - DSA::Eigenschaftsart basisEigenschaftsart_; - - wxSizer* MacheBasisEigenschaften(wxWindow* w); - wxSizer* MacheBasisAbgeleiteteWerte(wxWindow* w); - - GuiObjektID IDBasisEigenschaftPlus(DSA::Eigenschaftsart); - GuiObjektID IDBasisEigenschaftMinus(DSA::Eigenschaftsart); - GuiObjektID IDBasisEigenschaftMod(DSA::Eigenschaftsart); - GuiObjektID IDBasisAbgeleiteterWertPlus(DSA::AbgeleiteterWertArt); - GuiObjektID IDBasisAbgeleiteterWertMinus(DSA::AbgeleiteterWertArt); - GuiObjektID IDBasisAbgeleiteterWertMod(DSA::AbgeleiteterWertArt); - //@-node:<< Basis >> - //@nl - //@ << Kompakt >> - //@+node:<< Kompakt >> - wxTextCtrl* kompaktName_; - wxTextCtrl* kompaktRasse_; - wxTextCtrl* kompaktKultur_; - wxTextCtrl* kompaktProfession_; - wxStaticText* kompaktEigenschaftWert_[DSA::AnzahlEigenschaften]; - wxStaticText* kompaktAbgeleiteterWert_[DSA::AnzahlAbgeleiteterWerte]; - wxListBox* kompaktCharakteristika_; - wxListBox* kompaktSonderfertigkeiten_; - wxStaticText* kompaktTalenteTitel_; - wxListBox* kompaktTalente_; - wxTextCtrl* kompaktAugenfarbe_; - wxTextCtrl* kompaktHauptfarbe_; - wxTextCtrl* kompaktGroesse_; - wxTextCtrl* kompaktGewicht_; - wxTextCtrl* kompaktAlter_; - wxButton* kompaktGeschlecht_; - - void MacheBezeichnerWertPaar - (const std::string& bezeichner, wxTextCtrl*& wert, wxSizer* sizer, - wxWindow* w, GuiObjektID id = UNBEKANNT, GuiObjektID idBtn = UNBEKANNT); - void MacheBezeichnerWertPaarV - (const std::string& bezeichner, wxTextCtrl*& wert, wxSizer* sizer, - wxWindow* w, GuiObjektID id = UNBEKANNT, GuiObjektID idBtn = UNBEKANNT); - wxSizer* MacheEigenschaften(wxWindow* w); - wxSizer* MacheAbgeleiteteWerte(wxWindow* w); - - GuiObjektID IDKompaktEigenschaftPlus(DSA::Eigenschaftsart); - GuiObjektID IDKompaktEigenschaftMinus(DSA::Eigenschaftsart); - GuiObjektID IDKompaktAbgeleiteterWertPlus(DSA::AbgeleiteterWertArt); - GuiObjektID IDKompaktAbgeleiteterWertMinus(DSA::AbgeleiteterWertArt); - //@-node:<< Kompakt >> - //@nl - //@ << Vor-/Nachteile, SF >> - //@+node:<< Vor-/Nachteile, SF >> - wxListBox* charVorteile_; - wxListBox* charNachteile_; - wxListBox* charSF_; - //@-node:<< Vor-/Nachteile, SF >> - //@nl - //@ << Talent >> - //@+node:<< Talent >> - wxNotebookSizer* talentnbSizer_; - wxNotebook* talentnotebook_; - // wxGrid* talentTabelle_[DSA::AnzahlTalentgruppen]; - - wxScrolledWindow* scrollTalentPanel_[DSA::AnzahlTalentgruppen]; - wxFlexGridSizer* scrollTalent_[DSA::AnzahlTalentgruppen]; - std::vector<wxStaticText*> talentTabelleName_[DSA::AnzahlTalentgruppen]; - std::vector<wxStaticText*> talentTabelleWert_[DSA::AnzahlTalentgruppen]; - std::vector<wxStaticText*> talentTabelleProbe_[DSA::AnzahlTalentgruppen]; - std::vector<wxStaticText*> talentTabelleProbenWerte_[DSA::AnzahlTalentgruppen]; - - std::vector<wxStaticText*> talentTabelleAufAT_; - std::vector<wxStaticText*> talentTabelleAufPA_; - std::vector<wxStaticText*> talentTabelleAT_; - std::vector<wxStaticText*> talentTabellePA_; - std::vector<wxButton*> talentTabellePlus_[DSA::AnzahlTalentgruppen]; - std::vector<wxButton*> talentTabelleMinus_[DSA::AnzahlTalentgruppen]; - std::vector<wxButton*> talentTabelleATPlus_; - std::vector<wxButton*> talentTabellePAPlus_; - - std::vector<wxStaticText*> talentTabelleKomplexitaet_; - std::vector<wxStaticText*> talentTabelleZusatz_; - - wxPanel* MacheTalentPanelPanel(wxNotebook* notebook, int gruppe, int spalten); - bool schonResized; - - GuiObjektID IDTalentTalentAktivieren(DSA::Talentgruppe g); - - - - //@-node:<< Talent >> - //@nl - //@ << Magie >> - //@+node:<< Magie >> - // Magie-Teil der Deklaration von PersonGUIwx - wxScrolledWindow* scrollZauberPanel_; - wxFlexGridSizer* scrollZauber_; - std::vector<wxStaticText*> zauberTabelleName_; - std::vector<wxStaticText*> zauberTabelleRep_; - std::vector<wxStaticText*> zauberTabelleWert_; - std::vector<wxStaticText*> zauberTabelleProbe_; - std::vector<wxStaticText*> zauberTabelleProbenWerte_; - std::vector<wxStaticText*> zauberTabelleSKT_; - std::vector<wxStaticText*> zauberHauszauber_; - // std::vector<wxStaticText*> talentTabellePA_; - std::vector<wxButton*> zauberTabellePlus_; - std::vector<wxButton*> zauberTabelleMinus_; - - bool schonResizedMagie; - //@-node:<< Magie >> - //@nl + PersonGUISteigernHelferwx *steigernHelfer_; + //@ << Überblick >> + //@+node:<< Überblick >> + wxTextCtrl *ueberName_; + wxTextCtrl *ueberID_; + wxTextCtrl *ueberGeschlecht_; + wxTextCtrl *ueberRasse_; + wxTextCtrl *ueberKultur_; + wxTextCtrl *ueberProfession_; + //@-node:<< Überblick >> + //@nl + //@ << Basis >> + //@+node:<< Basis >> + wxStaticText *basisEigenschaftWert_[DSA::AnzahlEigenschaften]; + wxStaticText *basisEigenschaftBasisWert_[DSA::AnzahlEigenschaften]; + wxStaticText *basisEigenschaftModWert_[DSA::AnzahlEigenschaften]; + wxStaticText *basisEigenschaftMaxWert_[DSA::AnzahlEigenschaften]; + wxStaticText *basisAbgeleiteterWert_[DSA::AnzahlAbgeleiteterWerte]; + wxStaticText *basisAbgeleiteterBasisWert_[DSA::AnzahlAbgeleiteterWerte]; + wxStaticText *basisAbgeleiteterModWert_[DSA::AnzahlAbgeleiteterWerte]; + wxStaticText *basisModifikatorenTitel_; + wxStaticText *basisAP_; + wxStaticText *basisAPG_; + wxStaticText *basisAPV_; + wxStaticText *basisStufe_; + wxListBox *basisModifikatoren_; + bool basisAbgeleitet_; + DSA::AbgeleiteterWertArt basisAbgeleiteterWertArt_; + DSA::Eigenschaftsart basisEigenschaftsart_; - wxTextCtrl* weiterBeschreibung_; + wxSizer *MacheBasisModifikatoren(wxWindow * w); + wxSizer *MacheBasisAP(wxWindow * w); + wxSizer *MacheBasisEigenschaften(wxWindow * w); + wxSizer *MacheBasisAbgeleiteteWerte(wxWindow * w); - wxPanel* MacheKompaktPanel(wxNotebook* notebook); - wxPanel* MacheUebersichtPanel(wxNotebook* notebook); - wxPanel* MacheBasisPanel(wxNotebook* notebook); - wxPanel* MacheCharSFPanel(wxNotebook* notebook); - wxPanel* MacheTalentPanel(wxNotebook* notebook); - wxPanel* MacheKampfPanel(wxNotebook* notebook); - wxPanel* MacheMagiePanel(wxNotebook* notebook); - wxPanel* MacheInventarPanel(wxNotebook* notebook); - wxPanel* MacheExtraPanel(wxNotebook* notebook); + GuiObjektID IDBasisEigenschaftPlus(DSA::Eigenschaftsart); + GuiObjektID IDBasisEigenschaftMinus(DSA::Eigenschaftsart); + GuiObjektID IDBasisEigenschaftMod(DSA::Eigenschaftsart); + GuiObjektID IDBasisAbgeleiteterWertPlus(DSA::AbgeleiteterWertArt); + GuiObjektID IDBasisAbgeleiteterWertMinus(DSA::AbgeleiteterWertArt); + GuiObjektID IDBasisAbgeleiteterWertMod(DSA::AbgeleiteterWertArt); + //@-node:<< Basis >> + //@nl + //@ << Kompakt >> + //@+node:<< Kompakt >> + wxTextCtrl *kompaktName_; + wxTextCtrl *kompaktRasse_; + wxTextCtrl *kompaktKultur_; + wxTextCtrl *kompaktProfession_; + wxStaticText *kompaktEigenschaftWert_[DSA::AnzahlEigenschaften]; + wxStaticText *kompaktAbgeleiteterWert_[DSA::AnzahlAbgeleiteterWerte]; + wxListBox *kompaktCharakteristika_; + wxListBox *kompaktSonderfertigkeiten_; + wxStaticText *kompaktTalenteTitel_; + wxListBox *kompaktTalente_; + wxTextCtrl *kompaktAugenfarbe_; + wxTextCtrl *kompaktHauptfarbe_; + wxTextCtrl *kompaktGroesse_; + wxTextCtrl *kompaktGewicht_; + wxTextCtrl *kompaktAlter_; + wxButton *kompaktGeschlecht_; - std::string gewaehltesTalent_; - std::string gewaehltesChar_; - std::string gewaehlterVorteil_; - std::string gewaehlterNachteil_; - std::string gewaehlteSF_; + void MacheBezeichnerWertPaar + (const std::string & bezeichner, wxTextCtrl * &wert, wxSizer * sizer, + wxWindow * w, GuiObjektID id = UNBEKANNT, GuiObjektID idBtn = + UNBEKANNT); + void MacheBezeichnerWertPaarV(const std::string & bezeichner, + wxTextCtrl * &wert, wxSizer * sizer, + wxWindow * w, GuiObjektID id = + UNBEKANNT, GuiObjektID idBtn = UNBEKANNT); + wxSizer *MacheEigenschaften(wxWindow * w); + wxSizer *MacheAbgeleiteteWerte(wxWindow * w); + + GuiObjektID IDKompaktEigenschaftPlus(DSA::Eigenschaftsart); + GuiObjektID IDKompaktEigenschaftMinus(DSA::Eigenschaftsart); + GuiObjektID IDKompaktAbgeleiteterWertPlus(DSA::AbgeleiteterWertArt); + GuiObjektID IDKompaktAbgeleiteterWertMinus(DSA::AbgeleiteterWertArt); + //@-node:<< Kompakt >> + //@nl + //@ << Vor-/Nachteile, SF >> + //@+node:<< Vor-/Nachteile, SF >> + wxListBox *charVorteile_; + wxListBox *charNachteile_; + wxListBox *charSF_; + //@-node:<< Vor-/Nachteile, SF >> + //@nl + //@ << Talent >> + //@+node:<< Talent >> + wxNotebookSizer *talentnbSizer_; + wxNotebook *talentnotebook_; + // wxGrid* talentTabelle_[DSA::AnzahlTalentgruppen]; + + wxScrolledWindow *scrollTalentPanel_[DSA::AnzahlTalentgruppen]; + wxFlexGridSizer *scrollTalent_[DSA::AnzahlTalentgruppen]; + std::vector < + wxStaticText * >talentTabelleName_[DSA::AnzahlTalentgruppen]; + std::vector < + wxStaticText * >talentTabelleWert_[DSA::AnzahlTalentgruppen]; + std::vector < + wxStaticText * >talentTabelleProbe_[DSA::AnzahlTalentgruppen]; + std::vector < + wxStaticText * >talentTabelleProbenWerte_[DSA::AnzahlTalentgruppen]; + + std::vector < wxStaticText * >talentTabelleAufAT_; + std::vector < wxStaticText * >talentTabelleAufPA_; + std::vector < wxStaticText * >talentTabelleAT_; + std::vector < wxStaticText * >talentTabellePA_; + std::vector < wxButton * >talentTabellePlus_[DSA::AnzahlTalentgruppen]; + std::vector < wxButton * >talentTabelleMinus_[DSA::AnzahlTalentgruppen]; + std::vector < wxButton * >talentTabelleATPlus_; + std::vector < wxButton * >talentTabellePAPlus_; + + std::vector < wxStaticText * >talentTabelleKomplexitaet_; + std::vector < wxStaticText * >talentTabelleZusatz_; + + wxPanel *MacheTalentPanelPanel(wxNotebook * notebook, int gruppe, + int spalten); + bool schonResized; + + GuiObjektID IDTalentTalentAktivieren(DSA::Talentgruppe g); + + + + //@-node:<< Talent >> + //@nl + //@ << Magie >> + //@+node:<< Magie >> + // Magie-Teil der Deklaration von PersonGUIwx + wxScrolledWindow *scrollZauberPanel_; + wxFlexGridSizer *scrollZauber_; + std::vector < wxStaticText * >zauberTabelleName_; + std::vector < wxStaticText * >zauberTabelleRep_; + std::vector < wxStaticText * >zauberTabelleWert_; + std::vector < wxStaticText * >zauberTabelleProbe_; + std::vector < wxStaticText * >zauberTabelleProbenWerte_; + std::vector < wxStaticText * >zauberTabelleSKT_; + std::vector < wxStaticText * >zauberHauszauber_; + // std::vector<wxStaticText*> talentTabellePA_; + std::vector < wxButton * >zauberTabellePlus_; + std::vector < wxButton * >zauberTabelleMinus_; + + bool schonResizedMagie; + //@-node:<< Magie >> + //@nl + + wxTextCtrl *weiterBeschreibung_; + + wxPanel *MacheKompaktPanel(wxNotebook * notebook); + wxPanel *MacheUebersichtPanel(wxNotebook * notebook); + wxPanel *MacheBasisPanel(wxNotebook * notebook); + wxPanel *MacheCharSFPanel(wxNotebook * notebook); + wxPanel *MacheTalentPanel(wxNotebook * notebook); + wxPanel *MacheKampfPanel(wxNotebook * notebook); + wxPanel *MacheMagiePanel(wxNotebook * notebook); + wxPanel *MacheInventarPanel(wxNotebook * notebook); + wxPanel *MacheExtraPanel(wxNotebook * notebook); + + std::string gewaehltesTalent_; + std::string gewaehltesChar_; + std::string gewaehlterVorteil_; + std::string gewaehlterNachteil_; + std::string gewaehlteSF_; //@-node:<< Widgets >> //@nl //@<< Events >> //@+node:<< Events >> -void OnIDListboxSelect (wxCommandEvent& event); -void OnMUPlus (wxCommandEvent& event); -void OnKLPlus (wxCommandEvent& event); -void OnINPlus (wxCommandEvent& event); -void OnCHPlus (wxCommandEvent& event); -void OnFFPlus (wxCommandEvent& event); -void OnGEPlus (wxCommandEvent& event); -void OnKKPlus (wxCommandEvent& event); -void OnKOPlus (wxCommandEvent& event); -void OnMUMinus (wxCommandEvent& event); -void OnKLMinus (wxCommandEvent& event); -void OnINMinus (wxCommandEvent& event); -void OnCHMinus (wxCommandEvent& event); -void OnFFMinus (wxCommandEvent& event); -void OnGEMinus (wxCommandEvent& event); -void OnKKMinus (wxCommandEvent& event); -void OnKOMinus (wxCommandEvent& event); -void OnLEPlus (wxCommandEvent& event); -void OnAEPlus (wxCommandEvent& event); -void OnAUPlus (wxCommandEvent& event); -void OnMRPlus (wxCommandEvent& event); -void OnINIPlus (wxCommandEvent& event); -void OnATPlus (wxCommandEvent& event); -void OnPAPlus (wxCommandEvent& event); -void OnFKPlus (wxCommandEvent& event); -void OnSOPlus (wxCommandEvent& event); -void OnLEMinus (wxCommandEvent& event); -void OnAEMinus (wxCommandEvent& event); -void OnAUMinus (wxCommandEvent& event); -void OnMRMinus (wxCommandEvent& event); -void OnINIMinus (wxCommandEvent& event); -void OnATMinus (wxCommandEvent& event); -void OnPAMinus (wxCommandEvent& event); -void OnFKMinus (wxCommandEvent& event); -void OnSOMinus (wxCommandEvent& event); -void OnMUMod (wxCommandEvent& event); -void OnKLMod (wxCommandEvent& event); -void OnINMod (wxCommandEvent& event); -void OnCHMod (wxCommandEvent& event); -void OnFFMod (wxCommandEvent& event); -void OnGEMod (wxCommandEvent& event); -void OnKKMod (wxCommandEvent& event); -void OnKOMod (wxCommandEvent& event); -void OnLEMod (wxCommandEvent& event); -void OnAEMod (wxCommandEvent& event); -void OnAUMod (wxCommandEvent& event); -void OnMRMod (wxCommandEvent& event); -void OnINIMod (wxCommandEvent& event); -void OnATMod (wxCommandEvent& event); -void OnPAMod (wxCommandEvent& event); -void OnFKMod (wxCommandEvent& event); -void OnSOMod (wxCommandEvent& event); -void OnNameBtn (wxCommandEvent& event); -void OnIDBtn (wxCommandEvent& event); -void OnRasseBtn (wxCommandEvent& event); -void OnKulturBtn (wxCommandEvent& event); -void OnProfessionBtn (wxCommandEvent& event); -void OnBetrachten (wxCommandEvent& event); -void OnEditieren (wxCommandEvent& event); -void OnSteigern (wxCommandEvent& event); -void OnGenerieren (wxCommandEvent& event); -void OnNeu (wxCommandEvent& event); -void OnUmbenennenBtn (wxCommandEvent& event); -void OnKopierenBtn (wxCommandEvent& event); -void OnDruckenBtn (wxCommandEvent& event); -void OnKompaktNameText (wxCommandEvent& event); -void OnUeberNameText (wxCommandEvent& event); -void OnUeberIDText (wxCommandEvent& event); + void OnIDListboxSelect(wxCommandEvent & event); + void OnMUPlus(wxCommandEvent & event); + void OnKLPlus(wxCommandEvent & event); + void OnINPlus(wxCommandEvent & event); + void OnCHPlus(wxCommandEvent & event); + void OnFFPlus(wxCommandEvent & event); + void OnGEPlus(wxCommandEvent & event); + void OnKKPlus(wxCommandEvent & event); + void OnKOPlus(wxCommandEvent & event); + void OnMUMinus(wxCommandEvent & event); + void OnKLMinus(wxCommandEvent & event); + void OnINMinus(wxCommandEvent & event); + void OnCHMinus(wxCommandEvent & event); + void OnFFMinus(wxCommandEvent & event); + void OnGEMinus(wxCommandEvent & event); + void OnKKMinus(wxCommandEvent & event); + void OnKOMinus(wxCommandEvent & event); + void OnLEPlus(wxCommandEvent & event); + void OnAEPlus(wxCommandEvent & event); + void OnAUPlus(wxCommandEvent & event); + void OnMRPlus(wxCommandEvent & event); + void OnINIPlus(wxCommandEvent & event); + void OnATPlus(wxCommandEvent & event); + void OnPAPlus(wxCommandEvent & event); + void OnFKPlus(wxCommandEvent & event); + void OnSOPlus(wxCommandEvent & event); + void OnLEMinus(wxCommandEvent & event); + void OnAEMinus(wxCommandEvent & event); + void OnAUMinus(wxCommandEvent & event); + void OnMRMinus(wxCommandEvent & event); + void OnINIMinus(wxCommandEvent & event); + void OnATMinus(wxCommandEvent & event); + void OnPAMinus(wxCommandEvent & event); + void OnFKMinus(wxCommandEvent & event); + void OnSOMinus(wxCommandEvent & event); + void OnMUMod(wxCommandEvent & event); + void OnKLMod(wxCommandEvent & event); + void OnINMod(wxCommandEvent & event); + void OnCHMod(wxCommandEvent & event); + void OnFFMod(wxCommandEvent & event); + void OnGEMod(wxCommandEvent & event); + void OnKKMod(wxCommandEvent & event); + void OnKOMod(wxCommandEvent & event); + void OnLEMod(wxCommandEvent & event); + void OnAEMod(wxCommandEvent & event); + void OnAUMod(wxCommandEvent & event); + void OnMRMod(wxCommandEvent & event); + void OnINIMod(wxCommandEvent & event); + void OnATMod(wxCommandEvent & event); + void OnPAMod(wxCommandEvent & event); + void OnFKMod(wxCommandEvent & event); + void OnSOMod(wxCommandEvent & event); + void OnNameBtn(wxCommandEvent & event); + void OnIDBtn(wxCommandEvent & event); + void OnRasseBtn(wxCommandEvent & event); + void OnKulturBtn(wxCommandEvent & event); + void OnProfessionBtn(wxCommandEvent & event); + void OnBetrachten(wxCommandEvent & event); + void OnEditieren(wxCommandEvent & event); + void OnSteigern(wxCommandEvent & event); + void OnGenerieren(wxCommandEvent & event); + void OnNeu(wxCommandEvent & event); + void OnUmbenennenBtn(wxCommandEvent & event); + void OnKopierenBtn(wxCommandEvent & event); + void OnDruckenBtn(wxCommandEvent & event); + void OnKompaktNameText(wxCommandEvent & event); + void OnUeberNameText(wxCommandEvent & event); + void OnUeberIDText(wxCommandEvent & event); -void OnKompaktTalenteSelect (wxCommandEvent& event); -void OnTalentPlus (wxCommandEvent& event); -void OnTalentMinus (wxCommandEvent& event); -void OnTalentNeu (wxCommandEvent& event); -void OnTalentATPlus (wxCommandEvent& event); -void OnTalentPAPlus (wxCommandEvent& event); -void OnTalentSpezial (wxCommandEvent& event); -void OnTalentTalwertPlus (wxCommandEvent& event); -void OnTalentTalwertMinus (wxCommandEvent& event); -void OnTalentTalAufAT (wxCommandEvent& event); -void OnTalentTalAufPA (wxCommandEvent& event); + void OnKompaktTalenteSelect(wxCommandEvent & event); + void OnTalentPlus(wxCommandEvent & event); + void OnTalentMinus(wxCommandEvent & event); + void OnTalentNeu(wxCommandEvent & event); + void OnTalentATPlus(wxCommandEvent & event); + void OnTalentPAPlus(wxCommandEvent & event); + void OnTalentSpezial(wxCommandEvent & event); + void OnTalentTalwertPlus(wxCommandEvent & event); + void OnTalentTalwertMinus(wxCommandEvent & event); + void OnTalentTalAufAT(wxCommandEvent & event); + void OnTalentTalAufPA(wxCommandEvent & event); -void OnKompaktCharSelect (wxCommandEvent& event); -void OnCharNeu (wxCommandEvent& event); -void OnCharPlus (wxCommandEvent& event); -void OnCharMinus (wxCommandEvent& event); -void OnCharExtra (wxCommandEvent& event); + void OnKompaktCharSelect(wxCommandEvent & event); + void OnCharNeu(wxCommandEvent & event); + void OnCharPlus(wxCommandEvent & event); + void OnCharMinus(wxCommandEvent & event); + void OnCharExtra(wxCommandEvent & event); -void OnCharVorteilSelect (wxCommandEvent& event); -void OnCharNachteilSelect (wxCommandEvent& event); -void OnCharSFSelect (wxCommandEvent& event); + void OnCharVorteilSelect(wxCommandEvent & event); + void OnCharNachteilSelect(wxCommandEvent & event); + void OnCharSFSelect(wxCommandEvent & event); -void OnCharVorPlus (wxCommandEvent& event); -void OnCharVorMinus (wxCommandEvent& event); -void OnCharVorExtra (wxCommandEvent& event); -void OnCharNachPlus (wxCommandEvent& event); -void OnCharNachMinus (wxCommandEvent& event); -void OnCharNachExtra (wxCommandEvent& event); + void OnCharVorPlus(wxCommandEvent & event); + void OnCharVorMinus(wxCommandEvent & event); + void OnCharVorExtra(wxCommandEvent & event); + void OnCharNachPlus(wxCommandEvent & event); + void OnCharNachMinus(wxCommandEvent & event); + void OnCharNachExtra(wxCommandEvent & event); -void OnKompaktSFSelect (wxCommandEvent& event); -void OnSFNeu (wxCommandEvent& event); -void OnSFPlus (wxCommandEvent& event); -void OnSFMinus (wxCommandEvent& event); -void OnSFExtra (wxCommandEvent& event); + void OnKompaktSFSelect(wxCommandEvent & event); + void OnSFNeu(wxCommandEvent & event); + void OnSFPlus(wxCommandEvent & event); + void OnSFMinus(wxCommandEvent & event); + void OnSFExtra(wxCommandEvent & event); -void OnZauberNeu (wxCommandEvent& event); -void OnMagieZauberPlus (wxCommandEvent& event); -void OnMagieZauberMinus (wxCommandEvent& event); + void OnZauberNeu(wxCommandEvent & event); + void OnMagieZauberPlus(wxCommandEvent & event); + void OnMagieZauberMinus(wxCommandEvent & event); -void OnWeiterBeschreibung (wxCommandEvent& event); + void OnWeiterBeschreibung(wxCommandEvent & event); -void OnGeneratorAbbrechen (wxCommandEvent& event); -void OnGeneratorOK (wxCommandEvent& event); -void OnGPInfo (wxCommandEvent& event); + void OnGeneratorAbbrechen(wxCommandEvent & event); + void OnGeneratorOK(wxCommandEvent & event); + void OnGPInfo(wxCommandEvent & event); -void OnRasseOK (wxCommandEvent& event); -void OnRasseAbbrechen (wxCommandEvent& event); -void OnRasseUebernehmen (wxCommandEvent& event); -void OnKulturOK (wxCommandEvent& event); -void OnKulturAbbrechen (wxCommandEvent& event); -void OnKulturUebernehmen (wxCommandEvent& event); -void OnKulturMoeglichSelect (wxCommandEvent& event); -void OnProfessionOK (wxCommandEvent& event); -void OnProfessionAbbrechen (wxCommandEvent& event); -void OnProfessionUebernehmen (wxCommandEvent& event); -void OnProfessionMoeglichSelect (wxCommandEvent& event); + void OnSteigernAbbrechen(wxCommandEvent & event); + void OnSteigernOK(wxCommandEvent & event); -void OnHauptfarbeWurf (wxCommandEvent& event); -void OnAugenfarbeWurf (wxCommandEvent& event); -void OnGroesseWurf (wxCommandEvent& event); -void OnAlterWurf (wxCommandEvent& event); -void OnUpdate (wxNotebookEvent& event); -void OnGeschlecht (wxCommandEvent& event); + void OnRasseOK(wxCommandEvent & event); + void OnRasseAbbrechen(wxCommandEvent & event); + void OnRasseUebernehmen(wxCommandEvent & event); + void OnKulturOK(wxCommandEvent & event); + void OnKulturAbbrechen(wxCommandEvent & event); + void OnKulturUebernehmen(wxCommandEvent & event); + void OnKulturMoeglichSelect(wxCommandEvent & event); + void OnProfessionOK(wxCommandEvent & event); + void OnProfessionAbbrechen(wxCommandEvent & event); + void OnProfessionUebernehmen(wxCommandEvent & event); + void OnProfessionMoeglichSelect(wxCommandEvent & event); + + void OnHauptfarbeWurf(wxCommandEvent & event); + void OnAugenfarbeWurf(wxCommandEvent & event); + void OnGroesseWurf(wxCommandEvent & event); + void OnAlterWurf(wxCommandEvent & event); + void OnUpdate(wxNotebookEvent & event); + void OnGeschlecht(wxCommandEvent & event); //@nonl //@-node:<< Events >> //@nl - DECLARE_EVENT_TABLE() -}; // PersonGUIwx + DECLARE_EVENT_TABLE() +}; // PersonGUIwx + //@nonl //@-node:<< class PersonGUIwx >> //@nl @@ -471,6 +496,10 @@ //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.24.2.1 2005/04/26 22:59:36 gnaddelwarz +// Man kann jetzt Charaktere steigern (noch unvollständig) +// (Implementierung zunächst in Extra-Branch) +// // Revision 1.24 2004/07/12 16:24:27 twel // wxCommandEvent geändert zu wxNotebookEvent (wegen wxGTK 2.5.2) // Index: PersonGUIwx.cpp =================================================================== RCS file: /cvsroot/darkeyetool/det/src/gui/PersonGUIwx.cpp,v retrieving revision 1.65 retrieving revision 1.65.2.1 diff -u -d -r1.65 -r1.65.2.1 --- PersonGUIwx.cpp 17 Jul 2004 09:00:13 -0000 1.65 +++ PersonGUIwx.cpp 26 Apr 2005 22:59:36 -0000 1.65.2.1 @@ -19,7 +19,7 @@ //@@c #ifdef MSVC -#pragma warning(disable:4786 4503) +# pragma warning(disable:4786 4503) #endif //@-node:<< header >> //@nl @@ -27,9 +27,9 @@ //@<< includes >> //@+node:<< includes >> [...7900 lines suppressed...] - Log::Debug("PersonGUIwx::OnSFExtra " + _t("nicht implementiert")); +void PersonGUIwx::OnSFExtra(wxCommandEvent & WXUNUSED(event)) +{ + Log::Debug("PersonGUIwx::OnSFExtra " + _t("nicht implementiert")); } + //@nonl //@-node:OnSFExtra //@-others @@ -3815,6 +5188,10 @@ //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.65.2.1 2005/04/26 22:59:36 gnaddelwarz +// Man kann jetzt Charaktere steigern (noch unvollständig) +// (Implementierung zunächst in Extra-Branch) +// // Revision 1.65 2004/07/17 09:00:13 vrandezo // && durch und ersetzt // |
Update of /cvsroot/darkeyetool/det/src/dsa In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4082/src/dsa Modified Files: Tag: gnaddelwarz-steigern Person.cpp Person.h PersonHandlerSteigern.h Regeln.cpp Regeln.h Texte.h Added Files: Tag: gnaddelwarz-steigern PersonHandlerSteigern.cpp Log Message: Man kann jetzt Charaktere steigern (noch unvollständig) (Implementierung zunächst in Extra-Branch) Index: Person.h =================================================================== RCS file: /cvsroot/darkeyetool/det/src/dsa/Person.h,v retrieving revision 1.14 retrieving revision 1.14.2.1 diff -u -d -r1.14 -r1.14.2.1 --- Person.h 9 Apr 2004 22:25:50 -0000 1.14 +++ Person.h 26 Apr 2005 22:59:35 -0000 1.14.2.1 @@ -18,167 +18,311 @@ //@@c #ifdef MSVC -#pragma warning(disable:4786 4503) +# pragma warning(disable:4786 4503) #endif //@-node:<< header >> //@nl #if !defined(PERSON_H) -#define PERSON_H +# define PERSON_H //@<< includes >> //@+node:<< includes >> -#include "Eigenschaft.h" -#include "AbgeleiteterWert.h" -#include "Rasse.h" -#include "Kultur.h" -#include "Profession.h" -#include "Talent.h" -#include "Charakteristikum.h" -#include "Sonderfertigkeit.h" -#include "Zauber.h" +# include "Eigenschaft.h" +# include "AbgeleiteterWert.h" +# include "Rasse.h" +# include "Kultur.h" +# include "Profession.h" +# include "Talent.h" +# include "Charakteristikum.h" +# include "Sonderfertigkeit.h" +# include "Zauber.h" //@nonl //@-node:<< includes >> //@nl -namespace DSA { - //@ << class Person >> - //@+node:<< class Person >> - class Person { - public: - //@ << Administrativa >> - //@+node:<< Administrativa >> - Person(); - Person(const Person& other); - ~Person(); - - bool operator==(const Person& other) const; - bool operator!=(const Person& other) const { return !operator==(other); } - - static std::string Klasse() { return _t("Person"); } - static std::string Klassen() { return _t("Personen"); } - - void ID(const std::string& id) { id_ = id; } - std::string ID() const { return id_; } - void Name(const std::string& name) { name_ = name; } - std::string Name() const { return name_; } - //@nonl - //@-node:<< Administrativa >> - //@nl - - std::string ErsetzeTag(const std::string& tag) const; - - void Beschreibung(const std::string& beschreibung) { beschreibung_ = beschreibung; } - std::string Beschreibung() const { return beschreibung_; } - int GP() const { return gp_; } - void GP(int g) { gp_ = g; } - - void Rasse_(Rasse rasse) { rasse_ = rasse; } - Rasse Rasse_() const { return rasse_; } - void Kultur_(Kultur kultur) { kultur_ = kultur; } - Kultur Kultur_() const { return kultur_; } - void Profession_(Profession profession) { profession_ = profession; } - Profession Profession_() const { return profession_; } - - //@ << Aussehen >> - //@+node:<< Aussehen >> - void Augenfarbe(const std::string& augenfarbe) { augenfarbe_ = augenfarbe; } - std::string Augenfarbe() const { return augenfarbe_; } - void Hauptfarbe(const std::string& hauptfarbe) { hauptfarbe_ = hauptfarbe; } - std::string Hauptfarbe() const { return hauptfarbe_; } - void Groesse(int groesse) { groesse_ = groesse; } - int Groesse() const { return groesse_; } - void Gewicht(int gewicht) { gewicht_ = gewicht; } - int Gewicht() const { return gewicht_; } - void Alter(int alter) { alter_ = alter; } - int Alter() const { return alter_; } - - void Maennlich(bool m) { weiblich_ = !m; } - bool Maennlich() const { return !weiblich_; } - void Weiblich(bool w) { weiblich_ = w; } - bool Weiblich() const { return weiblich_; } - std::string Geschlecht() { return weiblich_ ? _t("weiblich") : _t("männlich"); } - //@nonl - //@-node:<< Aussehen >> - //@nl - - //@ << Lese/Schreibe >> - //@+node:<< Lese/Schreibe >> - int Lese(PersistenzManager* pm, const std::string& id = ""); - int Schreibe(PersistenzManager* pm) const; - int Pruefe() const; - static int IDListe(PersistenzManager* pm, StringListe* liste); - //@nonl - //@-node:<< Lese/Schreibe >> - //@nl - - int Wert(Eigenschaftsart e) const - { return eigenschaft_[static_cast<int>(e)].Wert(); } - int Basiswert(Eigenschaftsart e) const - { return eigenschaft_[static_cast<int>(e)].Basiswert(); } - int Wert(AbgeleiteterWertArt a) const - { return abgeleiteterWert_[static_cast<int>(a)].Wert(); } - int Basiswert(AbgeleiteterWertArt a) const - { return abgeleiteterWert_[static_cast<int>(a)].Basiswert(); } - - // unbekannte Eigenschaft wenn undefiniert - Eigenschaftsart Leiteigenschaft() const; - // 0 wenn undefiniert - int Leiteigenschaftswert() const; - - //@ << Berechnete Info >> - //@+node:<< Berechnete Info >> - Charakteristika Vorteile() const; - Charakteristika Nachteile() const; - - Talente Talente_(Talentgruppe gruppe) const; - //@-node:<< Berechnete Info >> - //@nl - - //@ << Listen (sollten ob Demeter raus)>> - //@+node:<< Listen (sollten ob Demeter raus)>> - Eigenschaft eigenschaft_[AnzahlEigenschaften]; - AbgeleiteterWert abgeleiteterWert_[AnzahlAbgeleiteterWerte]; - Talente talente_; - Sprachen sprachen_; - Schriften schriften_; - Kampftechniken kampftechniken_; - Charakteristika charakteristika_; - Sonderfertigkeiten sonderfertigkeiten_; - StringListe verbilligteSonderfertigkeiten_; - Zauberfertigkeiten zauberfertigkeiten_; - //@nonl - //@-node:<< Listen (sollten ob Demeter raus)>> - //@nl - +namespace DSA +{ + //@ << class Person >> + //@+node:<< class Person >> + class Person + { + public: + //@ << Administrativa >> + //@+node:<< Administrativa >> + Person(); + Person(const Person & other); + ~Person(); + + bool operator==(const Person & other) const; + bool operator!=(const Person & other) const + { + return !operator==(other); + } + + static std::string Klasse() + { + return _t("Person"); + } + static std::string Klassen() + { + return _t("Personen"); + } + + void ID(const std::string & id) + { + id_ = id; + } + std::string ID()const + { + return id_; + } + void Name(const std::string & name) + { + name_ = name; + } + std::string Name()const + { + return name_; + } + //@nonl + //@-node:<< Administrativa >> + //@nl + + std::string ErsetzeTag(const std::string & tag) const; + + void Beschreibung(const std::string & beschreibung) + { + beschreibung_ = beschreibung; + } + std::string Beschreibung()const + { + return beschreibung_; + } + int GP() const + { + return gp_; + } + void GP(int g) + { + gp_ = g; + } + int AP() const + { + return apg_ + apv_; + } + int APV() const + { + return apv_; + } + int APG() const + { + return apg_; + } + void HinzuAPG(int a) + { + apg_ += a; + } + void VerbraucheAPG(int a) + { + apg_ -= a; + apv_ += a; + } + int Stufe() const + { + return regeln()->AP2Stufe(APV()); + } + + void Rasse_(Rasse rasse) + { + rasse_ = rasse; + } + Rasse Rasse_() const + { + return rasse_; + } + void Kultur_(Kultur kultur) + { + kultur_ = kultur; + } + Kultur Kultur_() const + { + return kultur_; + } + void Profession_(Profession profession) + { + profession_ = profession; + } + Profession Profession_() const + { + return profession_; + } + + //@ << Aussehen >> + //@+node:<< Aussehen >> + void Augenfarbe(const std::string & augenfarbe) + { + augenfarbe_ = augenfarbe; + } + std::string Augenfarbe()const + { + return augenfarbe_; + } + void Hauptfarbe(const std::string & hauptfarbe) + { + hauptfarbe_ = hauptfarbe; + } + std::string Hauptfarbe()const + { + return hauptfarbe_; + } + void Groesse(int groesse) + { + groesse_ = groesse; + } + int Groesse() const + { + return groesse_; + } + void Gewicht(int gewicht) + { + gewicht_ = gewicht; + } + int Gewicht() const + { + return gewicht_; + } + void Alter(int alter) + { + alter_ = alter; + } + int Alter() const + { + return alter_; + } + + void Maennlich(bool m) + { + weiblich_ = !m; + } + bool Maennlich() const + { + return !weiblich_; + } + void Weiblich(bool w) + { + weiblich_ = w; + } + bool Weiblich() const + { + return weiblich_; + } + std::string Geschlecht() + { + return weiblich_ ? _t("weiblich") : _t("männlich"); + } + //@nonl + //@-node:<< Aussehen >> + //@nl + + //@ << Lese/Schreibe >> + //@+node:<< Lese/Schreibe >> + int Lese(PersistenzManager * pm, const std::string & id = ""); + int Schreibe(PersistenzManager * pm) const; + int Pruefe() const; + static int IDListe(PersistenzManager * pm, StringListe * liste); + + //@nonl + //@-node:<< Lese/Schreibe >> + //@nl + + int Wert(Eigenschaftsart e) const + { + return eigenschaft_[static_cast < int >(e)].Wert(); + } + int Basiswert(Eigenschaftsart e) const + { + return eigenschaft_[static_cast < int >(e)].Basiswert(); + } + int Maximalwert(Eigenschaftsart e) const + { + return eigenschaft_[static_cast < int >(e)].Maximalwert(); + } + int Wert(AbgeleiteterWertArt a) const + { + return abgeleiteterWert_[static_cast < int >(a)].Wert(); + } + int Basiswert(AbgeleiteterWertArt a) const + { + return abgeleiteterWert_[static_cast < int >(a)].Basiswert(); + } + + // unbekannte Eigenschaft wenn undefiniert + Eigenschaftsart Leiteigenschaft() const; + + // 0 wenn undefiniert + int Leiteigenschaftswert() const; + + //@ << Berechnete Info >> + //@+node:<< Berechnete Info >> + Charakteristika Vorteile() const; + Charakteristika Nachteile() const; + + Talente Talente_(Talentgruppe gruppe) const; + + //@-node:<< Berechnete Info >> + //@nl + + //@ << Listen (sollten ob Demeter raus)>> + //@+node:<< Listen (sollten ob Demeter raus)>> + Eigenschaft eigenschaft_[AnzahlEigenschaften]; + AbgeleiteterWert abgeleiteterWert_[AnzahlAbgeleiteterWerte]; + Talente talente_; + Sprachen sprachen_; + Schriften schriften_; + Kampftechniken kampftechniken_; + Charakteristika charakteristika_; + Sonderfertigkeiten sonderfertigkeiten_; + StringListe verbilligteSonderfertigkeiten_; + Zauberfertigkeiten zauberfertigkeiten_; + + //@nonl + //@-node:<< Listen (sollten ob Demeter raus)>> + //@nl + //@<< private >> //@+node:<< private >> - private: - std::string id_; - std::string name_; - std::string beschreibung_; - int gp_; - Rasse rasse_; - Kultur kultur_; - Profession profession_; - std::string augenfarbe_; - std::string hauptfarbe_; - int groesse_; - int gewicht_; - int alter_; - bool weiblich_; + private: + std::string id_; + std::string name_; + std::string beschreibung_; + int gp_; + int apv_; + int apg_; + Rasse rasse_; + Kultur kultur_; + Profession profession_; + + std::string augenfarbe_; + std::string hauptfarbe_; + int groesse_; + int gewicht_; + int alter_; + bool weiblich_; + //@nonl //@-node:<< private >> //@nl - - }; // Person - //@-node:<< class Person >> - //@nl - class Personen : public Menge<Person> { - }; // Personen + }; // Person + //@-node:<< class Person >> + //@nl - Personen* personen(); + class Personen:public Menge < Person > + { + }; // Personen + + Personen *personen(); } #endif // !defined(PERSON_H) @@ -186,6 +330,10 @@ //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.14.2.1 2005/04/26 22:59:35 gnaddelwarz +// Man kann jetzt Charaktere steigern (noch unvollständig) +// (Implementierung zunächst in Extra-Branch) +// // Revision 1.14 2004/04/09 22:25:50 vrandezo // Zauberfertigkeiten fuer Personen eintragbar // Index: Regeln.cpp =================================================================== RCS file: /cvsroot/darkeyetool/det/src/dsa/Regeln.cpp,v retrieving revision 1.9 retrieving revision 1.9.2.1 diff -u -d -r1.9 -r1.9.2.1 --- Regeln.cpp 13 Apr 2004 21:45:45 -0000 1.9 +++ Regeln.cpp 26 Apr 2005 22:59:35 -0000 1.9.2.1 @@ -18,7 +18,7 @@ //@@c #ifdef MSVC -#pragma warning(disable:4786 4503) +# pragma warning(disable:4786 4503) #endif //@-node:<< header >> //@nl @@ -39,214 +39,274 @@ //@<< filename >> //@+node:<< filename >> #ifdef _DEBUG -#undef THIS_FILE -static char THIS_FILE[]=__FILE__; +# undef THIS_FILE +static char THIS_FILE[] = __FILE__; + //#define new DEBUG_NEW #endif //@-node:<< filename >> //@nl -namespace DSA { +namespace DSA +{ - //@ @+others - //@+node:Default - void Regeln::Default() { - regel_.clear(); - Regel("Anzahl bei Generierung aktivierbarer Talente", 5); - Regel("Durchschnittswert einer Eigenschaft", 10); - Regel("Maximaler Startwert einer Eigenschaft", 14); - Regel("Minimaler Startwert einer Eigenschaft", 8); - Regel("Üblicher Maximalwert einer Eigenschaft", 21); - Regel("In Eigenschaften investierbare GP", 100); - Regel("Aus Nachteilen gewinnbare GP", 50); - Regel("Aus Schlechten Eigenschaften gewinnbare GP", 30); - Regel("Durchschnittsstartwert SO", 7); - Regel("Maximaler Startwert SO", 12); - Regel("Minimaler Startwert SO", 1); - Regel("Start-GP", 110); - Regel("Startdifferenz Klugheit zur Muttersprache", -2); - Regel("Startdifferenz Klugheit zur Zweitsprache", -4); - Regel("Maximale Differenz AT/PA", 5); - Regel("Maximaler Startwert einer Schlechten Eigenschaft", 12); - Regel("Minimaler Startwert einer Schlechten Eigenschaft", 5); - - Regeloption("Begabungen und Unfähigkeiten nach Errata", true); - - //@ << SKT >> - //@+node:<< SKT >> - // SKT A B C D E F G H (nach MFF 46) - int buf[AnzahlSKTZeilen][AnzahlSKTSpalten] - = {{ 1, 2, 2, 3, 4, 6, 8, 16 }, // 1 - { 2, 4, 6, 7, 9, 14, 18, 35 }, // 2 - { 3, 6, 9, 12, 15, 22, 30, 60 }, // 3 - { 4, 8, 13, 17, 21, 32, 42, 85 }, // 4 - { 6, 11, 17, 22, 28, 41, 55, 110 }, // 5 - { 7, 14, 21, 27, 34, 50, 70, 140 }, // 6 - { 8, 17, 25, 33, 41, 60, 85, 165 }, // 7 - { 10, 19, 29, 39, 48, 75, 95, 195 }, // 8 - { 11, 22, 34, 45, 55, 85, 110, 220 }, // 9 - { 13, 25, 38, 50, 65, 95, 125, 250 }, // 10 - { 14, 28, 43, 55, 70, 105, 140, 280 }, // 11 - { 16, 32, 47, 65, 80, 120, 160, 320 }, // 12 - { 17, 35, 51, 70, 85, 130, 175, 350 }, // 13 - { 19, 38, 55, 75, 95, 140, 190, 380 }, // 14 - { 21, 41, 60, 85, 105, 155, 210, 410 }, // 15 - { 22, 45, 65, 90, 110, 165, 220, 450 }, // 16 - { 24, 48, 70, 95, 120, 180, 240, 480 }, // 17 - { 26, 51, 75, 105, 130, 195, 260, 510 }, // 18 - { 27, 55, 80, 110, 135, 215, 270, 550 }, // 19 - { 29, 58, 85, 115, 145, 220, 290, 580 }, // 20 - { 31, 62, 95, 125, 155, 230, 310, 620 }, // 21 - { 33, 65, 100, 130, 165, 250, 330, 650 }, // 22 - { 34, 69, 105, 140, 170, 260, 340, 690 }, // 23 - { 36, 73, 110, 145, 180, 270, 360, 720 }, // 24 - { 38, 76, 115, 150, 190, 290, 380, 760 }, // 25 - { 40, 80, 120, 160, 200, 300, 400, 800 }, // 26 - { 42, 84, 125, 165, 210, 310, 420, 830 }, // 27 - { 44, 87, 130, 170, 220, 330, 440, 870 }, // 28 - { 45, 91, 135, 180, 230, 340, 460, 910 }, // 29 - { 47, 95, 140, 190, 240, 350, 480, 950 }, // 30 - { 50, 100, 150, 200, 250, 375, 500,1000 }};// 31+ - double dbuf[AnzahlSKTSpalten] - = { 1.f, 2.f, 3.f, 4.f, 5.f,7.5f,10.f,20.f }; - - int i = 0; - for (i=0; i<AnzahlSKTZeilen; ++i) - for (int j=0; j<AnzahlSKTSpalten; ++j) - skt_[i][j] = buf[i][j]; - - for (i=0; i<AnzahlSKTSpalten; ++i) - aktivierungsfaktor_[i] = dbuf[i]; - //@nonl - //@-node:<< SKT >> - //@nl - - SKTKampf = D; - SKTKoerperlich = D; - SKTGesellschaftlich = B; - SKTNatur = B; - SKTWissen = B; - SKTSprachenUndSchriften = A; - SKTHandwerk = B; - SKTGaben = G; - - } // Default - //@-node:Default - //@+node:Regel - int Regeln::Regel(const std::string& id) const { - std::map<std::string, int>::const_iterator r = regel_.find(id); - if (r != regel_.end()) return r->second; - Log::Error(_t("Unbekannte Regeloption") + " " + id); - return 0; - } // Regel - - std::string Regeln::Regel(const int i) const { - int it = 1; - for (std::map<std::string, int>::const_iterator ci = regel_.begin(); ci != regel_.end(); ++ci, ++it) - if (it>i) return ci->first; - return 0; - } // Regel + //@ @+others + //@+node:Default + void Regeln::Default() + { + regel_.clear(); + Regel("Anzahl bei Generierung aktivierbarer Talente", 5); + Regel("Durchschnittswert einer Eigenschaft", 10); + Regel("Maximaler Startwert einer Eigenschaft", 14); + Regel("Minimaler Startwert einer Eigenschaft", 8); + Regel("Üblicher Maximalwert einer Eigenschaft", 21); + Regel("In Eigenschaften investierbare GP", 100); + Regel("Aus Nachteilen gewinnbare GP", 50); + Regel("Aus Schlechten Eigenschaften gewinnbare GP", 30); + Regel("Durchschnittsstartwert SO", 7); + Regel("Maximaler Startwert SO", 12); + Regel("Minimaler Startwert SO", 1); + Regel("Start-GP", 110); + Regel("Startdifferenz Klugheit zur Muttersprache", -2); + Regel("Startdifferenz Klugheit zur Zweitsprache", -4); + Regel("Maximale Differenz AT/PA", 5); + Regel("Maximaler Startwert einer Schlechten Eigenschaft", 12); + Regel("Minimaler Startwert einer Schlechten Eigenschaft", 5); + + Regeloption("Begabungen und Unfähigkeiten nach Errata", true); + + //@ << SKT >> + //@+node:<< SKT >> + // SKT A B C D E F G H (nach MFF 46) + int buf[AnzahlSKTZeilen][AnzahlSKTSpalten] + = { {1, 2, 2, 3, 4, 6, 8, 16}, // 1 + {2, 4, 6, 7, 9, 14, 18, 35}, // 2 + {3, 6, 9, 12, 15, 22, 30, 60}, // 3 + {4, 8, 13, 17, 21, 32, 42, 85}, // 4 + {6, 11, 17, 22, 28, 41, 55, 110}, // 5 + {7, 14, 21, 27, 34, 50, 70, 140}, // 6 + {8, 17, 25, 33, 41, 60, 85, 165}, // 7 + {10, 19, 29, 39, 48, 75, 95, 195}, // 8 + {11, 22, 34, 45, 55, 85, 110, 220}, // 9 + {13, 25, 38, 50, 65, 95, 125, 250}, // 10 + {14, 28, 43, 55, 70, 105, 140, 280}, // 11 + {16, 32, 47, 65, 80, 120, 160, 320}, // 12 + {17, 35, 51, 70, 85, 130, 175, 350}, // 13 + {19, 38, 55, 75, 95, 140, 190, 380}, // 14 + {21, 41, 60, 85, 105, 155, 210, 410}, // 15 + {22, 45, 65, 90, 110, 165, 220, 450}, // 16 + {24, 48, 70, 95, 120, 180, 240, 480}, // 17 + {26, 51, 75, 105, 130, 195, 260, 510}, // 18 + {27, 55, 80, 110, 135, 215, 270, 550}, // 19 + {29, 58, 85, 115, 145, 220, 290, 580}, // 20 + {31, 62, 95, 125, 155, 230, 310, 620}, // 21 + {33, 65, 100, 130, 165, 250, 330, 650}, // 22 + {34, 69, 105, 140, 170, 260, 340, 690}, // 23 + {36, 73, 110, 145, 180, 270, 360, 720}, // 24 + {38, 76, 115, 150, 190, 290, 380, 760}, // 25 + {40, 80, 120, 160, 200, 300, 400, 800}, // 26 + {42, 84, 125, 165, 210, 310, 420, 830}, // 27 + {44, 87, 130, 170, 220, 330, 440, 870}, // 28 + {45, 91, 135, 180, 230, 340, 460, 910}, // 29 + {47, 95, 140, 190, 240, 350, 480, 950}, // 30 + {50, 100, 150, 200, 250, 375, 500, 1000} + }; // 31+ + double dbuf[AnzahlSKTSpalten] + = { 1.f, 2.f, 3.f, 4.f, 5.f, 7.5f, 10.f, 20.f }; + + int i = 0; + + for (i = 0; i < AnzahlSKTZeilen; ++i) + for (int j = 0; j < AnzahlSKTSpalten; ++j) + skt_[i][j] = buf[i][j]; + + for (i = 0; i < AnzahlSKTSpalten; ++i) + aktivierungsfaktor_[i] = dbuf[i]; //@nonl - //@-node:Regel - //@+node:Regeloption - bool Regeln::Regeloption(const std::string& id) const { - std::map<std::string, bool>::const_iterator r = regeloption_.find(id); - if (r != regeloption_.end()) return r->second; - Log::Error(_t("Unbekannte Regeloption") + " " + id); - return 0; - } // Regel - - std::string Regeln::Regeloption(const int i) const { - int it = 1; - for (std::map<std::string, bool>::const_iterator ci = regeloption_.begin(); ci != regeloption_.end(); ++ci, ++it) - if (it>i) return ci->first; + //@-node:<< SKT >> + //@nl + + SKTKampf = D; + SKTKoerperlich = D; + SKTGesellschaftlich = B; + SKTNatur = B; + SKTWissen = B; + SKTSprachenUndSchriften = A; + SKTHandwerk = B; + SKTGaben = G; + + } // Default + //@-node:Default + //@+node:Regel + int Regeln::Regel(const std::string & id) const + { + std::map < std::string, int >::const_iterator r = regel_.find(id); + if (r != regel_.end()) + return r->second; + Log::Error(_t("Unbekannte Regeloption") + " " + id); return 0; - } // Regel - //@nonl - //@-node:Regeloption - //@+node:SKT - int Regeln::SKT(SKTSpalte s, int i) const { - if (s==TransA) return max(SKT(A, i)-2, 1); - if (i<1) return (int) Aktivierungsfaktor(s); - if (i>AnzahlSKTZeilen) return skt_[31][static_cast<int>(s)-1]; - return skt_[i-1][static_cast<int>(s)-1]; - } // SKT - - double Regeln::Aktivierungsfaktor(SKTSpalte s) const { - if (s==TransA) return aktivierungsfaktor_[0]; - return aktivierungsfaktor_[static_cast<int>(s)-1]; - } // Aktivierungsfaktor - - SKTSpalte Regeln::TalentgruppenSKT(Talentgruppe g) const { - switch (g) { - case Kampf : return SKTKampf; - case Koerperlich : return SKTKoerperlich; - case Gabe : return SKTGaben; - case Gesellschaftlich : return SKTGesellschaftlich; - case Handwerk : return SKTHandwerk; - case Natur : return SKTNatur; - case SprachenUndSchriften : return SKTSprachenUndSchriften; - case Wissen : return SKTWissen; - default : return D; - } - } // TalentgruppenSKT - //@nonl - //@-node:SKT - //@+node:Lese - int Regeln::Lese(PersistenzManager* pm, const std::string& id) { - Default(); - std::string geleseneID = id; - int rv = pm->OeffneZumLesen(Klassen(), geleseneID); - StringListe s; - rv += pm->IDListe(Klasse(), s); - for (StringListe::iterator i = s.begin(); i != s.end(); ++i) { - int wert = 0; - int rv0 = pm->Lese(Klasse(), *i, wert); - if (rv0==0) Regel(*i, wert); - rv += rv0; - } - rv += pm->SchliesseNachLesen(); - return rv; // TODO - } // Lese - //@-node:Lese - //@+node:Schreibe - int Regeln::Schreibe(PersistenzManager* pm) const { - int rv = pm->OeffneZumSchreiben(Klassen()); - - for (std::map<std::string, int>::const_iterator i = regel_.begin(); i != regel_.end(); ++i) - rv += pm->Schreibe(Klasse(), i->first, i->second); - - rv += pm->SchliesseNachSchreiben(); - - return rv; // TODO - } // Schreibe - //@nonl - //@-node:Schreibe - //@+node:Prüfe - int Regeln::Pruefe() const { - Log::Info("Regeln::Pruefe " + _t("nicht implementiert")); - return 1; // TODO - } // Pruefe - //@nonl - //@-node:Prüfe - //@+node:IDListe - int Regeln::IDListe(PersistenzManager* pm, StringListe* liste) { - return pm->IDListe(_t("Regeln"), liste); // TODO Prüfen - } // IDListe - //@nonl - //@-node:IDListe - //@-others - - Regeln* regeln() { static Regeln* regeln_ = new Regeln(); return regeln_; } + } // Regel - int regeln(const std::string& id) { return regeln()->Regel(id); } + std::string Regeln::Regel(const int i) const + { + int it = 1; + for (std::map < std::string, int >::const_iterator ci = + regel_.begin(); ci != regel_.end(); ++ci, ++it) + if (it > i) + return ci->first; + return 0; + } // Regel + //@nonl + //@-node:Regel + //@+node:Regeloption + bool Regeln::Regeloption(const std::string & id) const + { + std::map < std::string, bool >::const_iterator r = + regeloption_.find(id); + if (r != regeloption_.end()) + return r->second; + Log::Error(_t("Unbekannte Regeloption") + " " + id); + return 0; + } // Regel + std::string Regeln::Regeloption(const int i) const + { + int it = 1; + for (std::map < std::string, bool >::const_iterator ci = + regeloption_.begin(); ci != regeloption_.end(); ++ci, ++it) + if (it > i) + return ci->first; + return 0; + } // Regel + //@nonl + //@-node:Regeloption + //@+node:SKT + int Regeln::SKT(SKTSpalte s, int i) const + { + if (s == TransA) + return max(SKT(A, i) - 2, 1); + if (i < 1) + return (int) Aktivierungsfaktor(s); + if (i > AnzahlSKTZeilen) + return skt_[31][static_cast < int >(s) - 1]; + return skt_[i - 1][static_cast < int >(s) - 1]; + } // SKT + + double Regeln::Aktivierungsfaktor(SKTSpalte s) const + { + if (s == TransA) + return aktivierungsfaktor_[0]; + return aktivierungsfaktor_[static_cast < int >(s) - 1]; + } // Aktivierungsfaktor + + SKTSpalte Regeln::TalentgruppenSKT(Talentgruppe g) const + { + switch (g) { + case Kampf: + return SKTKampf; + case Koerperlich:return SKTKoerperlich; + case Gabe:return SKTGaben; + case Gesellschaftlich:return SKTGesellschaftlich; + case Handwerk:return SKTHandwerk; + case Natur:return SKTNatur; + case SprachenUndSchriften:return SKTSprachenUndSchriften; + case Wissen:return SKTWissen; + default:return D; + } + } // TalentgruppenSKT + //@nonl + //@-node:SKT + //@+node:Lese + int Regeln::Lese(PersistenzManager * pm, const std::string & id) + { + Default(); + std::string geleseneID = id; + int rv = pm->OeffneZumLesen(Klassen(), geleseneID); + StringListe s; + + rv += pm->IDListe(Klasse(), s); + for (StringListe::iterator i = s.begin(); i != s.end(); ++i) { + int wert = 0; + int rv0 = pm->Lese(Klasse(), *i, wert); + + if (rv0 == 0) + Regel(*i, wert); + rv += rv0; + } + rv += pm->SchliesseNachLesen(); + return rv; // TODO + } // Lese + //@-node:Lese + //@+node:Schreibe + int Regeln::Schreibe(PersistenzManager * pm) const + { + int rv = pm->OeffneZumSchreiben(Klassen()); + + for (std::map < std::string, int >::const_iterator i = regel_.begin(); + i != regel_.end(); ++i) + rv += pm->Schreibe(Klasse(), i->first, i->second); + + rv += pm->SchliesseNachSchreiben(); + + return rv; // TODO + } // Schreibe + //@nonl + //@-node:Schreibe + //@+node:Prüfe + int Regeln::Pruefe() const + { + Log::Info("Regeln::Pruefe " + _t("nicht implementiert")); + return 1; // TODO + } // Pruefe + //@nonl + //@-node:Prüfe + //@+node:IDListe + int Regeln::IDListe(PersistenzManager * pm, StringListe * liste) + { + return pm->IDListe(_t("Regeln"), liste); // TODO Prüfen + } // IDListe + //@nonl + //@-node:IDListe + //@-others + + Regeln *regeln() + { + static Regeln *regeln_ = new Regeln(); + + return regeln_; + } + + int regeln(const std::string & id) + { + return regeln()->Regel(id); + } + + int Regeln::Stufe2AP(int stufe) + { + if (stufe > 1) + return (stufe * (stufe - 1) * 50); + else + return 0; + } + + int Regeln::AP2Stufe(int ap) + { + int s = 1; + + while (Stufe2AP(s) <= ap) + ++s; + return s - 1; + } } //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.9.2.1 2005/04/26 22:59:35 gnaddelwarz +// Man kann jetzt Charaktere steigern (noch unvollständig) +// (Implementierung zunächst in Extra-Branch) +// // Revision 1.9 2004/04/13 21:45:45 vrandezo // Akademische Ausbildung (Magier) implementiert // Aufräumarbeiten (besser in Leo integriert) Index: PersonHandlerSteigern.h =================================================================== RCS file: /cvsroot/darkeyetool/det/src/dsa/PersonHandlerSteigern.h,v retrieving revision 1.4 retrieving revision 1.4.2.1 diff -u -d -r1.4 -r1.4.2.1 --- PersonHandlerSteigern.h 13 Apr 2004 21:45:45 -0000 1.4 +++ PersonHandlerSteigern.h 26 Apr 2005 22:59:35 -0000 1.4.2.1 @@ -19,43 +19,94 @@ //@@c #ifdef MSVC -#pragma warning(disable:4786 4503) +# pragma warning(disable:4786 4503) #endif //@-node:<< header >> //@nl #if !defined(PERSONHANDLERSTEIGERN_H) -#define PERSONHANDLERSTEIGERN_H +# define PERSONHANDLERSTEIGERN_H //@<< includes >> //@+node:<< includes >> -#include "PersonHandler.h" +# include "PersonHandler.h" //@nonl //@-node:<< includes >> //@nl -namespace DSA { +namespace DSA +{ + + //@ << class PersonHandlerSteigern >> + //@+node:<< class PersonHandlerSteigern >> + class PersonHandlerSteigern:public PersonHandler + { + public: + PersonHandlerSteigern() + { + } + // { Log::Error("PersonHandler::PersonHandlerSteigern " + _t("nicht implementiert")); } + virtual ~ PersonHandlerSteigern() + { + } + virtual Person *P() + { + return person_.get(); + } + virtual void P(std::auto_ptr < Person > person); + virtual std::auto_ptr < Person > HolePerson() + { + return person_; + } + + virtual std::string HandlerArt() const + { + return "Steigern"; + } + + virtual bool Steigerbar(Eigenschaftsart); + virtual bool Senkbar(Eigenschaftsart); + virtual void Steiger(Eigenschaftsart); + virtual void Senke(Eigenschaftsart); + +// virtual bool TalentAktivierbar(const Talentgruppe gruppe = sonstige); +// virtual void AktivierbareTalente(StringListe&, const Talentgruppe gruppe = sonstige); +// virtual void Aktiviere(const std::string& talent); + virtual bool TalentSteigerbar(const std::string & talent); + virtual bool TalentSenkbar(const std::string & talent); + virtual void TalentSteigern(const std::string & talent); + virtual void TalentSenken(const std::string & talent); + + virtual int AP(); + virtual int APV(); + virtual int AktivierteTalente(); + virtual int AktivierteTalenteMax(); + virtual int AktivierteZauber(); + virtual int AktivierteZauberMax(); + + std::string aptext_; + int Hinzu(const std::string & text, int ap); + + virtual std::string SteigernText(); + + private: + std::auto_ptr < Person > person_; + + int min_werte_eigenschaft[AnzahlEigenschaften]; + Talente backup_talente; + Sprachen backup_sprachen; + Schriften backup_schriften; + Kampftechniken backup_kampftechniken; + Zauberfertigkeiten backup_zauber; + + std::pair < bool, + bool > SpracheOderSchrift(std::string & spracheOderSchrift); + + }; + //@nonl + //@-node:<< class PersonHandlerSteigern >> + //@nl - //@ << class PersonHandlerSteigern >> - //@+node:<< class PersonHandlerSteigern >> - class PersonHandlerSteigern : public PersonHandler { - public: - PersonHandlerSteigern() { Log::Error("PersonHandler::PersonHandlerSteigern " + _t("nicht implementiert")); } - virtual ~PersonHandlerSteigern() {} - virtual Person* P() { return person_.get(); } - virtual void P(std::auto_ptr<Person> person) { person_ = person; } - virtual std::auto_ptr<Person> HolePerson() { return person_; } - - virtual std::string HandlerArt() const { return "Steigern"; } - - private: - std::auto_ptr<Person> person_; - - }; - //@nonl - //@-node:<< class PersonHandlerSteigern >> - //@nl - } #endif // !defined(PERSONHANDLERSTEIGERN_H) @@ -63,6 +114,10 @@ //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.4.2.1 2005/04/26 22:59:35 gnaddelwarz +// Man kann jetzt Charaktere steigern (noch unvollständig) +// (Implementierung zunächst in Extra-Branch) +// // Revision 1.4 2004/04/13 21:45:45 vrandezo // Akademische Ausbildung (Magier) implementiert // Aufräumarbeiten (besser in Leo integriert) Index: Texte.h =================================================================== RCS file: /cvsroot/darkeyetool/det/src/dsa/Texte.h,v retrieving revision 1.4 retrieving revision 1.4.2.1 diff -u -d -r1.4 -r1.4.2.1 --- Texte.h 13 Apr 2004 21:45:45 -0000 1.4 +++ Texte.h 26 Apr 2005 22:59:35 -0000 1.4.2.1 @@ -18,51 +18,54 @@ //@@c #ifdef MSVC -#pragma warning(disable:4786 4503) +# pragma warning(disable:4786 4503) #endif //@-node:<< header >> //@nl #if !defined(TEXTE_H) -#define TEXTE_H +# define TEXTE_H //@<< includes >> //@+node:<< includes >> -#include <string> -#include <memory> -#include <map> +# include <string> +# include <memory> +# include <map> //@nonl //@-node:<< includes >> //@nl // irgendwo wurde IN definiert, dass stört hier -#undef IN +# undef IN class wxTextFile; //@<< struct Texte >> //@+node:<< struct Texte >> //! hält alle String-Literale des Programms + /*! Dadurch ist später eine einfache Übersetzung in andere Sprachen möglich. /*/ -struct Texte - { - static void Initialisiere(const std::string& datei = "dettexte.txt"); - static void Deinitialisiere(); +class Texte +{ + public: + static void Initialisiere(const std::string & datei = "dettexte.txt"); + static void Deinitialisiere(); - static std::string Text(const std::string&); + static std::string Text(const std::string &); - private: - //! Versteckter Konstruktor - Texte(const std::string& datei); - //! Destruktor - virtual ~Texte(); + private: + //! Versteckter Konstruktor + Texte(const std::string & datei); + //! Destruktor + virtual ~ Texte(); - std::auto_ptr<wxTextFile> datei_; - std::map<std::string, std::string> lexikon_; + std::auto_ptr < wxTextFile > datei_; + std::map < std::string, std::string > lexikon_; + + static Texte *instanz_; +}; // Texte - static Texte* instanz_; - }; // Texte //@nonl //@-node:<< struct Texte >> //@nl @@ -71,18 +74,25 @@ // Texte-Klasse durchgeführt, was teilweise das Programm recht verlangsamen kann. // Wählte man die zweite Zeile, dann wird stets der Default-Wert verwendet - in // diesem Fall also Deutsch - dafür aber ist das Programm schnell wie eh und jeh. -#ifdef _DEBUG -inline std::string _t(const std::string& t) { return Texte::Text(t); } -#endif -#ifndef _DEBUG -#define _t(T) std::string(T) -#endif +# ifdef _DEBUG +inline std::string _t(const std::string & t) +{ + return Texte::Text(t); +} +# endif +# ifndef _DEBUG +# define _t(T) std::string(T) +# endif #endif // !defined(TEXTE_H) //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.4.2.1 2005/04/26 22:59:35 gnaddelwarz +// Man kann jetzt Charaktere steigern (noch unvollständig) +// (Implementierung zunächst in Extra-Branch) +// // Revision 1.4 2004/04/13 21:45:45 vrandezo // Akademische Ausbildung (Magier) implementiert // Aufräumarbeiten (besser in Leo integriert) Index: Person.cpp =================================================================== RCS file: /cvsroot/darkeyetool/det/src/dsa/Person.cpp,v retrieving revision 1.23 retrieving revision 1.23.2.1 diff -u -d -r1.23 -r1.23.2.1 --- Person.cpp 12 Apr 2004 21:08:09 -0000 1.23 +++ Person.cpp 26 Apr 2005 22:59:34 -0000 1.23.2.1 @@ -18,7 +18,7 @@ //@@c #ifdef MSVC -#pragma warning(disable:4786 4503) +# pragma warning(disable:4786 4503) #endif //@-node:<< header >> //@nl @@ -38,444 +38,628 @@ //@<< filename >> //@+node:<< filename >> [...1025 lines suppressed...] + //@nl + + Personen *personen() + { + static Personen *personen_ = new Personen(); + + return personen_; + } } //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.23.2.1 2005/04/26 22:59:34 gnaddelwarz +// Man kann jetzt Charaktere steigern (noch unvollständig) +// (Implementierung zunächst in Extra-Branch) +// // Revision 1.23 2004/04/12 21:08:09 vrandezo // Lehrsprachen implementiert // Mutter-/Zweitsprachensystem umgebaut Index: Regeln.h =================================================================== RCS file: /cvsroot/darkeyetool/det/src/dsa/Regeln.h,v retrieving revision 1.8 retrieving revision 1.8.2.1 diff -u -d -r1.8 -r1.8.2.1 --- Regeln.h 13 Apr 2004 21:45:45 -0000 1.8 +++ Regeln.h 26 Apr 2005 22:59:35 -0000 1.8.2.1 @@ -18,81 +18,113 @@ //@@c #ifdef MSVC -#pragma warning(disable:4786 4503) +# pragma warning(disable:4786 4503) #endif //@-node:<< header >> //@nl #if !defined(REGELN_H) -#define REGELN_H +# define REGELN_H //@<< includes >> //@+node:<< includes >> -#include "NDSABasis.h" -#include "Texte.h" -#include <map> +# include "NDSABasis.h" +# include "Texte.h" +# include <map> //@nonl //@-node:<< includes >> //@nl -namespace DSA { - class PersistenzManager; - - //@ << class Regeln >> - //@+node:<< class Regeln >> - class Regeln { - public: - Regeln() { Default(); } - - static std::string Klassen() { return _t("Regeloptionen"); } - static std::string Klasse() { return _t("Regeloption"); } - - void Regel(const std::string& id, int wert) { regel_[id] = wert; } - int Regel(const std::string& id) const; - int operator[](const std::string& id) const { return Regel(id); } - std::string Regel(const int i) const; - std::string operator[](const int i) const { return Regel(i); } - int AnzahlRegeln() const { return regel_.size(); } - - void Regeloption(const std::string& id, bool wert) { regeloption_[id] = wert; } - bool Regeloption(const std::string& id) const; - std::string Regeloption(const int i) const; - int AnzahlRegeloptionen() const { return regeloption_.size(); } - - int SKT(SKTSpalte, int) const; - double Aktivierungsfaktor(DSA::SKTSpalte) const; - SKTSpalte TalentgruppenSKT(Talentgruppe) const; - - void Default(); - - int Lese(PersistenzManager* pm, const std::string& id = ""); - int Schreibe(PersistenzManager* pm) const; - int Pruefe() const; - static int IDListe(PersistenzManager* pm, StringListe* liste); - - private: - std::map<std::string, int> regel_; - std::map<std::string, bool> regeloption_; - double aktivierungsfaktor_[AnzahlSKTSpalten]; - int skt_[AnzahlSKTZeilen][AnzahlSKTSpalten]; // TODO - - // TODO - DSA::SKTSpalte SKTKampf; - DSA::SKTSpalte SKTKoerperlich; - DSA::SKTSpalte SKTGesellschaftlich; - DSA::SKTSpalte SKTNatur; - DSA::SKTSpalte SKTWissen; - DSA::SKTSpalte SKTSprachenUndSchriften; - DSA::SKTSpalte SKTHandwerk; - DSA::SKTSpalte SKTGaben; - - }; // Regeln - //@nonl - //@-node:<< class Regeln >> - //@nl - - Regeln* regeln(); - int regeln(const std::string& id); +namespace DSA +{ + class PersistenzManager; + + //@ << class Regeln >> + //@+node:<< class Regeln >> + class Regeln + { + public: + Regeln() + { + Default(); + } + + static std::string Klassen() + { + return _t("Regeloptionen"); + } + static std::string Klasse() + { + return _t("Regeloption"); + } + + void Regel(const std::string & id, int wert) + { + regel_[id] = wert; + } + int Regel(const std::string & id) const; + int operator[] (const std::string & id) const + { + return Regel(id); + } + std::string Regel(const int i) const; + std::string operator[](const int i) const + { + return Regel(i); + } + int AnzahlRegeln() const + { + return regel_.size(); + } + + void Regeloption(const std::string & id, bool wert) + { + regeloption_[id] = wert; + } + bool Regeloption(const std::string & id) const; + std::string Regeloption(const int i) const; + int AnzahlRegeloptionen() const + { + return regeloption_.size(); + } + + int SKT(SKTSpalte, int) const; + double Aktivierungsfaktor(DSA::SKTSpalte) const; + SKTSpalte TalentgruppenSKT(Talentgruppe) const; + + void Default(); + + int Lese(PersistenzManager * pm, const std::string & id = ""); + int Schreibe(PersistenzManager * pm) const; + int Pruefe() const; + static int IDListe(PersistenzManager * pm, StringListe * liste); + int AP2Stufe(int AP); + int Stufe2AP(int stufe); + + private: + std::map < std::string, int >regel_; + + std::map < std::string, bool > regeloption_; + double aktivierungsfaktor_[AnzahlSKTSpalten]; + int skt_[AnzahlSKTZeilen][AnzahlSKTSpalten]; // TODO + + // TODO + DSA::SKTSpalte SKTKampf; + DSA::SKTSpalte SKTKoerperlich; + DSA::SKTSpalte SKTGesellschaftlich; + DSA::SKTSpalte SKTNatur; + DSA::SKTSpalte SKTWissen; + DSA::SKTSpalte SKTSprachenUndSchriften; + DSA::SKTSpalte SKTHandwerk; + DSA::SKTSpalte SKTGaben; + + }; // Regeln + //@nonl + //@-node:<< class Regeln >> + //@nl + + Regeln *regeln(); + int regeln(const std::string & id); } @@ -101,6 +133,10 @@ //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.8.2.1 2005/04/26 22:59:35 gnaddelwarz +// Man kann jetzt Charaktere steigern (noch unvollständig) +// (Implementierung zunächst in Extra-Branch) +// // Revision 1.8 2004/04/13 21:45:45 vrandezo // Akademische Ausbildung (Magier) implementiert // Aufräumarbeiten (besser in Leo integriert) --- NEW FILE: PersonHandlerSteigern.cpp --- // PersonHandlerGenerator.cpp: Implementierung der // Heldenerschaffung // // $Revision: 1.1.2.1 $ // $Date: 2005/04/26 22:59:35 $ // The content of this file is subject to the license // given in license.txt // #include "PersonHandlerSteigern.h" #ifdef _DEBUG # undef THIS_FILE static char THIS_FILE[] = __FILE__; //#define new DEBUG_NEW #endif namespace DSA { void PersonHandlerSteigern::P(std::auto_ptr < Person > person) { person_ = person; for (int i = 0; i != AnzahlEigenschaften; ++i) min_werte_eigenschaft[i] = P()->Wert(static_cast < Eigenschaftsart > (i)); backup_talente = P()->talente_; backup_sprachen = P()->sprachen_; backup_schriften = P()->schriften_; backup_kampftechniken = P()->kampftechniken_; backup_zauber = P()->zauberfertigkeiten_; } bool PersonHandlerSteigern::Steigerbar(Eigenschaftsart e) { int kosten = regeln()->SKT(H, P()->Basiswert(e) + 1); std::string s = _t("Miserable Eigenschaft") + " " + EigenschaftString(e); if (P()->charakteristika_.Existiert(s)) // doppelte Kosten kosten *= 2; return ((P()->Wert(e) < P()->Maximalwert(e)) && (person_.get()->APG() >= kosten)); } // Steigerbar bool PersonHandlerSteigern::Senkbar(Eigenschaftsart e) { return (P()->Wert(e) > min_werte_eigenschaft[static_cast < int >(e)]); } // Senkbar void PersonHandlerSteigern::Steiger(Eigenschaftsart e) { if (!Steigerbar(e)) return; PersonHandler::Steiger(e); std::string s = _t("Miserable Eigenschaft") + " " + EigenschaftString(e); P()->VerbraucheAPG(regeln()->SKT(H, P()->Basiswert(e))); if (P()->charakteristika_.Existiert(s)) // doppelte Kosten P()->VerbraucheAPG(regeln()->SKT(H, P()->Basiswert(e))); // else { // s = _t("Herausragende Eigenschaft") + " " + EigenschaftString(e); // if (!P()->charakteristika_.Existiert(s)) // FuegeHinzu(s); // else // CharakteristikumSteigern(s); // } } // Steiger void PersonHandlerSteigern::Senke(Eigenschaftsart e) { // std::string s = _t("Herausragende Eigenschaft") + " " + EigenschaftString(e); // if (P()->charakteristika_.Existiert(s)) // CharakteristikumSenken(s); // else if (regeln("Minimaler Startwert einer Eigenschaft")<P()->Basiswert(e)) if (!Senkbar(e)) return; std::string s = _t("Miserable Eigenschaft") + " " + EigenschaftString(e); P()->VerbraucheAPG(-regeln()->SKT(H, P()->Basiswert(e))); if (P()->charakteristika_.Existiert(s)) // doppelte Kosten P()->VerbraucheAPG(-regeln()->SKT(H, P()->Basiswert(e))); PersonHandler::Senke(e); } // Senke bool PersonHandlerSteigern::TalentSteigerbar(const std::string & talent) { SKTSpalte spalte; // Talente if (P()->talente_.Existiert(talent)) { Talent *t = P()->talente_.Zeige(talent); spalte = P()->talente_.Hole(talent).SKTSpalte_(); // genug TGP? int aktbis = 1; if (t->Art() == Basis) aktbis = 0; if (t->Wert() < aktbis) { if (regeln()->Aktivierungsfaktor(spalte) * P()->Stufe() * P()->Stufe() > (P()->APG())) return false; } else { if (regeln()->SKT(spalte, t->Wert() + 1) > (P()->APG())) return false; } return (t->Wert() < t->Maximalwert()); } // Kampftechniken if (P()->kampftechniken_.Existiert(talent)) { Kampftechnik *k = P()->kampftechniken_.Zeige(talent); spalte = P()->kampftechniken_.Hole(talent).SKTSpalte_(); // genug TGP? int aktbis = 1; if (k->Art() == Basis) aktbis = 0; if (k->Wert() < aktbis) { if (regeln()->Aktivierungsfaktor(spalte) * P()->Stufe() * P()->Stufe() > (P()->APG())) return false; } else { if (regeln()->SKT(spalte, k->Wert() + 1) > (P()->APG())) return false; } return (k->Wert() < k->Maximalwert()); } // Sprachen und Schriften std::string temptal = talent; std::pair < bool, bool > rv = SpracheOderSchrift(temptal); if (rv.first) { if (rv.second) { // ist eine Sprache if (P()->sprachen_.Existiert(temptal)) { spalte = sprachen()->Hole(temptal).SKTSpalte_(); Sprache *s = P()->sprachen_.Zeige(temptal); if (P()->charakteristika_. Existiert(_t("Unfähigkeit für") + " " + _t("Sprachen"))) spalte = SpalteSchwerer(spalte); if (s->Wert() < 1) { if (regeln()->Aktivierungsfaktor(spalte) * P()->Stufe() * P()->Stufe() > (P()->APG())) return false; } else { if (regeln()->SKT(spalte, s->Wert() + 1) > (P()->APG())) return false; } int talwert = s->Wert(); // Komplexität if (sprachen()->Hole(temptal).Komplexitaet() <= talwert) return false; int maxeigwert = max(P()->Wert(Klugheit), P()->Wert(Intuition), P()->Wert(Charisma)); // TODO Magische Eigenschaften return (talwert < maxeigwert + 3); // TODO Magische Zahl } } else { // ist eine Schrift if (P()->schriften_.Existiert(temptal)) { spalte = schriften()->Hole(temptal).SKTSpalte_(); Schrift *s = P()->schriften_.Zeige(temptal); if (s->Wert() < 1) { if (regeln()->Aktivierungsfaktor(spalte) * P()->Stufe() * P()->Stufe() > (P()->APG())) return false; } else { if (regeln()->SKT(spalte, s->Wert() + 1) > (P()->APG())) return false; } int talwert = s->Wert(); // Komplexität if (schriften()->Hole(temptal).Komplexitaet() <= talwert) return false; if (talente()->Zeige(_t("Lesen / Schreiben")) == 0) return true; // Wenn das Talent fehlt int maxeigwert = max(P()->Wert(talente()-> Zeige(_t("Lesen / Schreiben"))-> Eigenschaft(0)), P()->Wert(talente()-> Zeige(_t("Lesen / Schreiben"))-> Eigenschaft(1)), P()->Wert(talente()-> Zeige(_t("Lesen / Schreiben"))-> Eigenschaft(2))); return (talwert < maxeigwert + 3); // TODO Magische Zahl } } } // Zauber if (P()->zauberfertigkeiten_.Existiert(talent)) { // hindernde Unfaehigkeiten? TODO //if ((P()->charakteristika_.Existiert(_t("Unfähigkeit für") + " " + talent)) // ||(P()->charakteristika_.Existiert(_t("Unfähigkeit für") + " " + TalentgruppeString(P()->talente_.Zeige(talent)->Gruppe(), false)))) // return false; Zauberfertigkeit *z = P()->zauberfertigkeiten_.Zeige(talent); spalte = z->Lernschwierigkeit(); // genug TGP? if (z->Wert() < 1) { if (regeln()->Aktivierungsfaktor(spalte) * 5 * P()->Stufe() > (P()->APG())) return false; } else { if (regeln()->SKT(spalte, z->Wert() + 1) > (P()->APG())) return false; } return (z->Wert() < z->Maximalwert()); } // wenn nicht bisher abgehandelt: return false; } // TalentSteigerbar void PersonHandlerSteigern::TalentSteigern(const std::string & talent) { SKTSpalte spalte; int kosten; if (!TalentSteigerbar(talent)) { Log::Debug("PersonHandlerGenerator::TalentSteigern: " + _t("Konnte Talent nicht steigern.")); return; } if (talente()->Existiert(talent)) { Talent *t = P()->talente_.Zeige(talent); spalte = t->SKTSpalte_(); t->Wert(t->Wert() + 1); int aktbis = 1; if (t->Art() == Basis) aktbis = 0; if (t->Wert() <= aktbis) { kosten = regeln()->Aktivierungsfaktor(spalte) * P()->Stufe() * P()->Stufe(); } else { kosten = regeln()->SKT(spalte, t->Wert()); } P()->VerbraucheAPG(kosten); return; } if (kampftechniken()->Existiert(talent)) { Kampftechnik *k = P()->kampftechniken_.Zeige(talent); spalte = k->SKTSpalte_(); k->Wert(k->Wert() + 1); int aktbis = 1; if (k->Art() == Basis) aktbis = 0; if (k->Wert() <= aktbis) { kosten = regeln()->Aktivierungsfaktor(spalte) * P()->Stufe() * P()->Stufe(); } else { kosten = regeln()->SKT(spalte, k->Wert()); } P()->VerbraucheAPG(kosten); return; } std::string temptal = talent; std::pair < bool, bool > rv = SpracheOderSchrift(temptal); if (rv.first) { if (rv.second) { if (sprachen()->Existiert(temptal)) { Sprache *s = P()->sprachen_.Zeige(temptal); spalte = s->SKTSpalte_(); if (P()->charakteristika_. Existiert(_t("Unfähigkeit für") + " " + _t("Sprachen"))) spalte = SpalteSchwerer(spalte); s->Wert(s->Wert() + 1); if (s->Wert() <= 1) { kosten = regeln()->Aktivierungsfaktor(spalte) * P()->Stufe() * P()->Stufe(); } else { kosten = regeln()->SKT(spalte, s->Wert()); } P()->VerbraucheAPG(kosten); return; } } else { if (schriften()->Existiert(temptal)) { Schrift *s = P()->schriften_.Zeige(temptal); spalte = s->SKTSpalte_(); s->Wert(s->Wert() + 1); if (s->Wert() <= 1) { kosten = regeln()->Aktivierungsfaktor(spalte) * P()->Stufe() * P()->Stufe(); } else { kosten = regeln()->SKT(spalte, s->Wert()); } P()->VerbraucheAPG(kosten); return; } } } if (P()->zauberfertigkeiten_.Existiert(talent)) { Zauberfertigkeit *z = P()->zauberfertigkeiten_.Zeige(talent); spalte = z->Lernschwierigkeit(); z->Wert(z->Wert() + 1); if (z->Wert() <= 1) { kosten = regeln()->Aktivierungsfaktor(spalte) * 5 * P()->Stufe(); } else { kosten = regeln()->SKT(spalte, z->Wert()); } P()->VerbraucheAPG(kosten); return; } } // TalentSteigern std::pair < bool, bool > PersonHandlerSteigern::SpracheOderSchrift(std:: string & spracheOderSchrift) { std::pair < bool, bool > rv; rv.first = true; if (spracheOderSchrift.find(":") >= spracheOderSchrift.size()) { rv.first = false; return rv; } rv.second = !(spracheOderSchrift.substr(0, spracheOderSchrift.find(":")) == _t("Lesen / Schreiben")); spracheOderSchrift = spracheOderSchrift.substr(spracheOderSchrift.find(":") + 2, spracheOderSchrift.size() - (spracheOderSchrift.find(":") + 2)); return rv; } // SpracheOderSchrift bool PersonHandlerSteigern::TalentSenkbar(const std::string & talent) { if (P()->kampftechniken_.Existiert(talent)) { if (!backup_kampftechniken.Existiert(talent)) return false; return (P()->kampftechniken_.Zeige(talent)->Wert() > backup_kampftechniken.Zeige(talent)->Wert()); } if (P()->talente_.Existiert(talent)) { if (!backup_talente.Existiert(talent)) return false; return (P()->talente_.Zeige(talent)->Wert() > backup_talente.Zeige(talent)->Wert()); } std::string temptal = talent; std::pair < bool, bool > rv = SpracheOderSchrift(temptal); if (rv.first) { if (rv.second) { if (P()->sprachen_.Existiert(temptal)) { if (!backup_sprachen.Existiert(temptal)) return false; return (P()->sprachen_.Zeige(temptal)->Wert() > backup_sprachen.Zeige(temptal)->Wert()); } } else { if (P()->schriften_.Existiert(temptal)) { if (!backup_schriften.Existiert(temptal)) return false; return (P()->schriften_.Zeige(temptal)->Wert() > backup_schriften.Zeige(temptal)->Wert()); } } } if (P()->zauberfertigkeiten_.Existiert(talent)) { if (!backup_zauber.Existiert(talent)) return false; return (P()->zauberfertigkeiten_.Zeige(talent)->Wert() > backup_zauber.Zeige(talent)->Wert()); } return false; } // TalentSenkbar void PersonHandlerSteigern::TalentSenken(const std::string & talent) { SKTSpalte spalte; int kosten; if (!TalentSenkbar(talent)) { Log::Debug("PersonHandlerGenerator::TalentSenken: " + _t("Konnte Talent nicht senken.")); return; } if (talente()->Existiert(talent)) { Talent *t = P()->talente_.Zeige(talent); spalte = t->SKTSpalte_(); int aktbis = 1; if (t->Art() == Basis) aktbis = 0; if (t->Wert() <= aktbis) { kosten = regeln()->Aktivierungsfaktor(spalte) * P()->Stufe() * P()->Stufe(); } else { kosten = regeln()->SKT(spalte, t->Wert()); } P()->VerbraucheAPG(-kosten); t->Wert(t->Wert() - 1); return; } if (kampftechniken()->Existiert(talent)) { Kampftechnik *k = P()->kampftechniken_.Zeige(talent); spalte = k->SKTSpalte_(); int aktbis = 1; if (k->Art() == Basis) aktbis = 0; if (k->Wert() <= aktbis) { kosten = regeln()->Aktivierungsfaktor(spalte) * P()->Stufe() * P()->Stufe(); } else { kosten = regeln()->SKT(spalte, k->Wert()); } P()->VerbraucheAPG(-kosten); k->Wert(k->Wert() - 1); return; } std::string temptal = talent; std::pair < bool, bool > rv = SpracheOderSchrift(temptal); if (rv.first) { if (rv.second) { if (sprachen()->Existiert(temptal)) { Sprache *s = P()->sprachen_.Zeige(temptal); spalte = s->SKTSpalte_(); if (s->Wert() <= 1) { kosten = regeln()->Aktivierungsfaktor(spalte) * P()->Stufe() * P()->Stufe(); } else { kosten = regeln()->SKT(spalte, s->Wert()); } P()->VerbraucheAPG(-kosten); s->Wert(s->Wert() - 1); return; } } else { if (schriften()->Existiert(temptal)) { Schrift *s = P()->schriften_.Zeige(temptal); spalte = s->SKTSpalte_(); if (s->Wert() <= 1) { kosten = regeln()->Aktivierungsfaktor(spalte) * P()->Stufe() * P()->Stufe(); } else { kosten = regeln()->SKT(spalte, s->Wert()); } P()->VerbraucheAPG(-kosten); s->Wert(s->Wert() - 1); return; } } } if (P()->zauberfertigkeiten_.Existiert(talent)) { Zauberfertigkeit *z = P()->zauberfertigkeiten_.Zeige(talent); spalte = z->Lernschwierigkeit(); if (z->Wert() <= 1) { kosten = regeln()->Aktivierungsfaktor(spalte) * P()->Stufe() * P()->Stufe(); } else { kosten = regeln()->SKT(spalte, z->Wert()); } P()->VerbraucheAPG(-kosten); z->Wert(z->Wert() - 1); return; } } // TalentSenken int PersonHandlerSteigern::APV() { if (P()) return P()->APV(); else return 0; } int PersonHandlerSteigern::AP() { if (P()) return P()->AP(); else return 0; } int PersonHandlerSteigern::AktivierteTalente() { return 0; } int PersonHandlerSteigern::AktivierteTalenteMax() { return 0; } int PersonHandlerSteigern::AktivierteZauber() { return 0; } int PersonHandlerSteigern::AktivierteZauberMax() { return 0; } int PersonHandlerSteigern::Hinzu(const std::string & text, int ap) { aptext_ += text; return 0; } std::string PersonHandlerSteigern::SteigernText() { if (AP() == APV()) return (_t("Alle Abenteuerpunkte verteilt")); else return (_t("Es sind noch Abenteuerpunkte übrig")); } } // $Log: PersonHandlerSteigern.cpp,v $ // Revision 1.1.2.1 2005/04/26 22:59:35 gnaddelwarz // Man kann jetzt Charaktere steigern (noch unvollständig) // (Implementierung zunächst in Extra-Branch) // |
|
From: Jochen S. <jos...@us...> - 2004-10-18 16:27:39
|
Update of /cvsroot/darkeyetool/det In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26788 Added Files: createMakefile Removed Files: configure Log Message: Habe das alte configure-skript in createMakefile umbenannt. --- configure DELETED --- --- NEW FILE: createMakefile --- #!/bin/sh # $Revision: 1.8 $ # $Date: 2004/10/17 22:39:00 $ case `uname -s` in CYGWIN*) PLATFORM=Cygwin;; FreeBSD | Linux) PLATFORM=UNIX;; *) PLATFORM=UNIX;; esac case ${PLATFORM} in Cygwin) EXT=.exe;; UNIX) EXT=;; esac WX_CONFIG=`which wx-config` if [ -z ${WX_CONFIG} ] then WX_CONFIG=$( (for i in `echo $PATH | sed -e 's/:/ /g` do ls ${i}/wx*-config 2> /dev/null done) | head -1) fi if [ -z ${WX_CONFIG} ] then echo wxWidgets nicht gefunden exit 1 fi rm -f Makefile echo "CXX?=c++" >> Makefile CFLAGS="-O0 -isystem /usr/local/include/ -isystem /usr/include/ -I ./res/ -I ./src/ `${WX_CONFIG} --cxxflags | sed -e 's/-I/-isystem/g'`" echo "CFLAGS=${CFLAGS}" >> Makefile echo "CFLAGS += -w" >> Makefile echo "CFLAGS += -Wall -Werror" >> Makefile echo "CFLAGS += -pedantic -pedantic-errors -Wno-long-long" >> Makefile echo "LFLAGS=`${WX_CONFIG} --libs` -L/lib/ -L/usr/local/lib/" >> Makefile case ${PLATFORM} in Cygwin) echo "LFLAGS += -lxerces-c.dll -mwindows" >> Makefile;; UNIX) echo "LFLAGS += -lxerces-c" >> Makefile;; esac echo "OBJECTS=`echo \`find src/ -name '*.cpp' | sed -e 's/\.cpp\$/\.o/' | grep -v src/detVer.o | grep -v src/vcreate.o\` src/detVer.o`" >> Makefile case ${PLATFORM} in Cygwin) echo "OBJECTS += det.o" >> Makefile;; esac case ${PLATFORM} in Cygwin) echo ".SUFFIXES: .rc" >> Makefile;; esac echo "all: det${EXT}" >> Makefile for i in `find src -name '*.cpp'` do c++ ${CFLAGS} -MM $i -MT `echo $i | sed -e 's/\.cpp\$/\.o/'` >> Makefile done echo "det${EXT}: \$(OBJECTS)" >> Makefile echo " @echo Binde \$@" >> Makefile echo " @\$(CXX) \$(OBJECTS) \$(LFLAGS) -o \$@" >> Makefile echo ".cpp.o:" >> Makefile echo " @echo Kompiliere \$<" >> Makefile echo " @\$(CXX) \$(CFLAGS) -c \$< -o \$@" >> Makefile case ${PLATFORM} in Cygwin) echo ".rc.o:" >> Makefile echo " @echo Verarbeite Ressource \$<" >> Makefile echo " @windres --include-dir /usr/local/include/ -O coff \$< -o \$@" >> Makefile;; esac echo "src/detVer.cpp: vcreate${EXT}" >> Makefile echo " @echo Erzeuge \$@" >> Makefile echo " @./vcreate${EXT}" >> Makefile echo "vcreate${EXT}: src/vcreate.cpp" >> Makefile echo " @echo Binde \$@" >> Makefile echo " @\$(CXX) src/vcreate.cpp -o vcreate" >> Makefile echo "clean:" >> Makefile echo " @echo Raeume auf" >> Makefile echo " @-rm -f det${EXT} vcreate${EXT} src/detVer.cpp src/*.o src/*/*.o " >> Makefile case ${PLATFORM} in Cygwin) echo " @-rm -f det.o" >> Makefile;; esac |
|
From: Twelwan <tw...@us...> - 2004-10-17 23:34:59
|
Update of /cvsroot/darkeyetool/det/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23694/src Modified Files: det.cpp Log Message: kleiner Verdreher im String Index: det.cpp =================================================================== RCS file: /cvsroot/darkeyetool/det/src/det.cpp,v retrieving revision 1.55 retrieving revision 1.56 diff -u -d -r1.55 -r1.56 --- det.cpp 17 Oct 2004 19:12:39 -0000 1.55 +++ det.cpp 17 Oct 2004 23:34:49 -0000 1.56 @@ -416,7 +416,7 @@ menuBearbeitenTalente->Append(det_Bearbeiten_Sprachen, _t("MenuBearbeitenSprachen").c_str(), _t("MenuBearbeitenSprachenInfo").c_str()); menuBearbeitenTalente->Append(det_Bearbeiten_Schriften, _t("MenuBearbeitenSchriften").c_str(), _t("MenuBearbeitenSchriftenInfo").c_str()); menuBearbeitenTalente->Append(det_Bearbeiten_Talente, _t("MenuBearbeitenTalente").c_str(), _t("MenuBearbeitenTalenteInfo").c_str()); - menuBearbeiten->Append(det_Bearbeiten_TalenteSub, _t("MenuBearbeitenTalenteSub").c_str(), menuBearbeitenTalente, _t("MenuBearbeitenTalenteInfoSub").c_str()); + menuBearbeiten->Append(det_Bearbeiten_TalenteSub, _t("MenuBearbeitenTalenteSub").c_str(), menuBearbeitenTalente, _t("MenuBearbeitenTalenteSubInfo").c_str()); wxMenu* menuBearbeitenCharakteristika = new wxMenu(); menuBearbeitenCharakteristika->Append(det_Bearbeiten_SchlechteEigenschaften, _t("MenuBearbeitenSchlechteEigenschaften").c_str(), _t("MenuBearbeitenSchlechteEigenschaftenInfo").c_str()); menuBearbeitenCharakteristika->Append(det_Bearbeiten_Charakteristika, _t("MenuBearbeitenCharakteristika").c_str(), _t("MenuBearbeitenCharakteristikaInfo").c_str()); @@ -1464,6 +1464,9 @@ //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.56 2004/10/17 23:34:49 twel +// kleiner Verdreher im String +// // Revision 1.55 2004/10/17 19:12:39 vrandezo // IDs und Bezeichner getrennt - I18N vorbereitet // ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. |
|
From: Jochen S. <jos...@us...> - 2004-10-17 22:39:14
|
Update of /cvsroot/darkeyetool/det In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8166 Modified Files: configure Log Message: Falsche Datei eingecheckt. Index: configure =================================================================== RCS file: /cvsroot/darkeyetool/det/configure,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- configure 17 Oct 2004 22:26:55 -0000 1.7 +++ configure 17 Oct 2004 22:39:00 -0000 1.8 @@ -1,21075 +1,106 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.59 for DET 1.33.0. -# -# Copyright (C) 2003 Free Software Foundation, Inc. -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## - [...21113 lines suppressed...] -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - ac_config_status_args= - test "$silent" = yes && - ac_config_status_args="$ac_config_status_args --quiet" - exec 5>/dev/null - $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || { (exit 1); exit 1; } -fi - - |
|
From: Jochen S. <jos...@us...> - 2004-10-17 22:27:09
|
Update of /cvsroot/darkeyetool/det In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2991 Modified Files: .cvsignore configure Added Files: bootstrap wxwin.m4 Makefile.am configure.in Log Message: - Bugfixes - Autotools-Unterstützung. Index: .cvsignore =================================================================== RCS file: /cvsroot/darkeyetool/det/.cvsignore,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- .cvsignore 28 Apr 2004 20:05:17 -0000 1.1 +++ .cvsignore 17 Oct 2004 22:26:55 -0000 1.2 @@ -5,4 +5,25 @@ builder detconfig.xml data.xdi -data~.xdi +dsa_docs +autom4te.cache +.libs +.deps +mkinstalldirs +missing +Makefile.in +ltmain.sh +.cdtproject +.in +.project +6! +aclocal.m4 +config.guess +config.log +config.status +config.sub +*~.xdi +configure +depcomp +install-sh +libtool --- NEW FILE: Makefile.am --- INCLUDES = -I./src -I./src/dsa -I./src/gui -I./src/guihtml/icons -I./res $(WX_CXXFLAGS) bin_PROGRAMS = vcreate det vcreate_SOURCES = src/vcreate.cpp vcreate_LDFLAGS = $(STLPORT_LDFLAGS) vcreate_LDADD = $(STLPORT_LIBS) CLEANFILES = src/detVer.cpp BUILT_SOURCES = src/detVer.cpp src/detVer.cpp: vcreate ./vcreate doc: doxygen det_LDADD = $(WX_LIBS) $(XERCESC_LIBS) $(STLPORT_LIBS) det_LDFLAGS = $(XERCESC_LDFLAGS) $(STLPORT_LDFLAGS) det_SOURCES = \ src/det.cpp \ src/detconfig.cpp \ src/detVer.cpp \ src/LaderXerces.cpp \ src/Log.cpp \ src/PersistenzManagerXerces.cpp \ src/Update.cpp \ src/dsa/AbgeleiteterWert.cpp \ src/dsa/Charakteristikum.cpp \ src/dsa/Definition.cpp \ src/dsa/Eigenschaft.cpp \ src/dsa/Hole.cpp \ src/dsa/Kampftechnik.cpp \ src/dsa/Kultur.cpp \ src/dsa/Modifikator.cpp \ src/dsa/NDSABasis.cpp \ src/dsa/NDSAUtil.cpp \ src/dsa/PersistenzManager.cpp \ src/dsa/Person.cpp \ src/dsa/PersonenKomponente.cpp \ src/dsa/PersonHandler.cpp \ src/dsa/PersonHandlerGenerator.cpp \ src/dsa/Profession.cpp \ src/dsa/Rasse.cpp \ src/dsa/Regeln.cpp \ src/dsa/Sonderfertigkeit.cpp \ src/dsa/SpracheSchrift.cpp \ src/dsa/Talent.cpp \ src/dsa/Texte.cpp \ src/dsa/Voraussetzung.cpp \ src/dsa/Wuerfel.cpp \ src/dsa/Zauber.cpp \ src/gui/CharakteristikumGUIwx.cpp \ src/gui/CharakteristikumSchlechteEigenschaftGUIwx.cpp \ src/gui/detExport.cpp \ src/gui/detImport.cpp \ src/gui/HoleGUIwx.cpp \ src/gui/InfoGUIwx.cpp \ src/gui/KampftechnikGUIwx.cpp \ src/gui/KonstantenGUIwx.cpp \ src/gui/KulturGUIwx.cpp \ src/gui/PersonGUIGeneratorHelferwx.cpp \ src/gui/PersonGUIKulturwx.cpp \ src/gui/PersonGUIPersonenKomponentewx.cpp \ src/gui/PersonGUIProfessionwx.cpp \ src/gui/PersonGUIRassewx.cpp \ src/gui/PersonGUIVerarbeitenwx.cpp \ src/gui/PersonGUIwx.cpp \ src/gui/PersonGUIZauberwx.cpp \ src/gui/ProfessionGUIwx.cpp \ src/gui/ProfessionGUISpruechewx.cpp \ src/gui/RasseGUIwx.cpp \ src/gui/SonderfertigkeitGUIwx.cpp \ src/gui/SonderfertigkeitWaffenloserKampfstilGUIwx.cpp \ src/gui/SonderfertigkeitWaffenloseSonderfertigkeitGUIwx.cpp \ src/gui/SonderfertigkeitZaubertanzGUIwx.cpp \ src/gui/SpracheSchriftGUIwx.cpp \ src/gui/TalentGUIwx.cpp \ src/gui/ZauberGUIwx.cpp Index: configure =================================================================== RCS file: /cvsroot/darkeyetool/det/configure,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- configure 9 Apr 2004 07:47:09 -0000 1.6 +++ configure 17 Oct 2004 22:26:55 -0000 1.7 @@ -1,106 +1,21075 @@ -#!/bin/sh +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.59 for DET 1.33.0. +# +# Copyright (C) 2003 Free Software Foundation, Inc. +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## [...21113 lines suppressed...] +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + + --- NEW FILE: wxwin.m4 --- dnl --------------------------------------------------------------------------- dnl Macros for wxWidgets detection. Typically used in configure.in as: dnl dnl AC_ARG_ENABLE(...) dnl AC_ARG_WITH(...) dnl ... dnl AM_OPTIONS_WXCONFIG dnl ... dnl ... dnl AM_PATH_WXCONFIG(2.3.4, wxWin=1) dnl if test "$wxWin" != 1; then dnl AC_MSG_ERROR([ dnl wxWidgets must be installed on your system dnl but wx-config script couldn't be found. dnl dnl Please check that wx-config is in path, the directory dnl where wxWidgets libraries are installed (returned by dnl 'wx-config --libs' command) is in LD_LIBRARY_PATH or dnl equivalent variable and wxWidgets version is 2.3.4 or above. dnl ]) dnl fi dnl CPPFLAGS="$CPPFLAGS $WX_CPPFLAGS" dnl CXXFLAGS="$CXXFLAGS $WX_CXXFLAGS_ONLY" dnl CFLAGS="$CFLAGS $WX_CFLAGS_ONLY" dnl dnl LDFLAGS="$LDFLAGS $WX_LIBS" dnl --------------------------------------------------------------------------- dnl --------------------------------------------------------------------------- dnl AM_OPTIONS_WXCONFIG dnl dnl adds support for --wx-prefix, --wx-exec-prefix and --wx-config dnl command line options dnl --------------------------------------------------------------------------- AC_DEFUN(AM_OPTIONS_WXCONFIG, [ AC_ARG_WITH(wx-prefix, [ --with-wx-prefix=PREFIX Prefix where wxWidgets is installed (optional)], wx_config_prefix="$withval", wx_config_prefix="") AC_ARG_WITH(wx-exec-prefix,[ --with-wx-exec-prefix=PREFIX Exec prefix where wxWidgets is installed (optional)], wx_config_exec_prefix="$withval", wx_config_exec_prefix="") AC_ARG_WITH(wx-config,[ --with-wx-config=CONFIG wx-config script to use (optional)], wx_config_name="$withval", wx_config_name="") ]) dnl --------------------------------------------------------------------------- dnl AM_OPTIONS_WXBASECONFIG dnl dnl adds support for --wx-prefix, --wx-exec-prefix and --wx-config dnl command line options dnl --------------------------------------------------------------------------- AC_DEFUN(AM_OPTIONS_WXBASECONFIG, [ AC_ARG_WITH(wxbase-prefix, [ --with-wxbase-prefix=PREFIX Prefix where wxWidgets base is installed (optional)], wxbase_config_prefix="$withval", wxbase_config_prefix="") AC_ARG_WITH(wxbase-exec-prefix,[ --with-wxbase-exec-prefix=PREFIX Exec prefix where wxWidgetsbase is installed (optional)], wxbase_config_exec_prefix="$withval", wxbase_config_exec_prefix="") AC_ARG_WITH(wxbase-config,[ --with-wxbase-config=CONFIG wxbase-config script to use (optional)], wxbase_config_name="$withval", wxbase_config_name="") ]) dnl --------------------------------------------------------------------------- dnl AM_PATH_WXCONFIG(VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) dnl dnl Test for wxWidgets, and define WX_C*FLAGS, WX_LIBS and WX_LIBS_STATIC dnl (the latter is for static linking against wxWidgets). Set WX_CONFIG_NAME dnl environment variable to override the default name of the wx-config script dnl to use. Set WX_CONFIG_PATH to specify the full path to wx-config - in this dnl case the macro won't even waste time on tests for its existence. dnl --------------------------------------------------------------------------- dnl dnl Get the cflags and libraries from the wx-config script dnl AC_DEFUN(AM_PATH_WXCONFIG, [ AC_REQUIRE([AC_PROG_AWK]) dnl do we have wx-config name: it can be wx-config or wxd-config or ... if test x${WX_CONFIG_NAME+set} != xset ; then WX_CONFIG_NAME=wx-config fi if test "x$wx_config_name" != x ; then WX_CONFIG_NAME="$wx_config_name" fi dnl deal with optional prefixes if test x$wx_config_exec_prefix != x ; then wx_config_args="$wx_config_args --exec-prefix=$wx_config_exec_prefix" WX_LOOKUP_PATH="$wx_config_exec_prefix/bin" fi if test x$wx_config_prefix != x ; then wx_config_args="$wx_config_args --prefix=$wx_config_prefix" WX_LOOKUP_PATH="$WX_LOOKUP_PATH:$wx_config_prefix/bin" fi dnl don't search the PATH if WX_CONFIG_NAME is absolute filename if test -x "$WX_CONFIG_NAME" ; then AC_MSG_CHECKING(for wx-config) WX_CONFIG_PATH="$WX_CONFIG_NAME" AC_MSG_RESULT($WX_CONFIG_PATH) else AC_PATH_PROG(WX_CONFIG_PATH, $WX_CONFIG_NAME, no, "$WX_LOOKUP_PATH:$PATH") fi if test "$WX_CONFIG_PATH" != "no" ; then WX_VERSION="" no_wx="" min_wx_version=ifelse([$1], ,2.4.2,$1) AC_MSG_CHECKING(for wxWidgets version >= $min_wx_version) WX_CONFIG_WITH_ARGS="$WX_CONFIG_PATH $wx_config_args" WX_VERSION=`$WX_CONFIG_WITH_ARGS --version` vers=`echo $WX_VERSION | $AWK 'BEGIN { FS = "."; } { printf "% d", ([$]1 * 1000 + [$]2) * 1000 + [$]3;}'` minvers=`echo $min_wx_version | $AWK 'BEGIN { FS = "."; } { printf "% d", ([$]1 * 1000 + [$]2) * 1000 + [$]3;}'` if test -n "$vers" && test "$vers" -ge $minvers; then WX_LIBS=`$WX_CONFIG_WITH_ARGS --libs` WX_LIBS_STATIC=`$WX_CONFIG_WITH_ARGS --static --libs` dnl we have CPPFLAGS included in CFLAGS included in CXXFLAGS WX_CPPFLAGS=`$WX_CONFIG_WITH_ARGS --cppflags` WX_CXXFLAGS=`$WX_CONFIG_WITH_ARGS --cxxflags` WX_CFLAGS=`$WX_CONFIG_WITH_ARGS --cflags` WX_CFLAGS_ONLY=`echo $WX_CFLAGS | sed "s@^$WX_CPPFLAGS *@@"` WX_CXXFLAGS_ONLY=`echo $WX_CXXFLAGS | sed "s@^$WX_CFLAGS *@@"` else no_wx=yes fi if test "x$no_wx" = x ; then AC_MSG_RESULT(yes (version $WX_VERSION)) ifelse([$2], , :, [$2]) else if test "x$WX_VERSION" = x; then dnl no wx-config at all AC_MSG_RESULT(no) else AC_MSG_RESULT(no (version $WX_VERSION is not new enough)) fi WX_CFLAGS="" WX_CPPFLAGS="" WX_CXXFLAGS="" WX_LIBS="" WX_LIBS_STATIC="" ifelse([$3], , :, [$3]) AC_MSG_ERROR([ Please check that wx-config is in path, the directory where wxWidgets libraries are installed (returned by 'wx-config --libs' command) is in LD_LIBRARY_PATH or equivalent variable and wxWidgets version is new enough. Or this might also be a bug in our configure. Please try again with --with-wx-config=/usr/bin/wx-config (replace /usr/bin/wx-config with a valid path to your wx-config) * Note: Most probably, either one of the above aren't correct, you don't have wxGTK installed, or are missing wxGTK-devel (or equivalent) package. ]) fi fi AC_SUBST(WX_CPPFLAGS) AC_SUBST(WX_CFLAGS) AC_SUBST(WX_CXXFLAGS) AC_SUBST(WX_CFLAGS_ONLY) AC_SUBST(WX_CXXFLAGS_ONLY) AC_SUBST(WX_LIBS) AC_SUBST(WX_LIBS_STATIC) AC_SUBST(WX_VERSION) dnl Now checking if it is a 2.5 or more version dnl Then take wx-config itself if test "$vers" -ge 2005000; then AC_MSG_WARN(wxWidgets >=2.5.0: Using wx-config --libs=base,net) WXBASE_CONFIG_NAME=$WX_CONFIG_NAME WXBASE_CONFIG_WITH_ARGS=$WX_CONFIG_WITH_ARGS WXBASE_LIBS=`$WXBASE_CONFIG_WITH_ARGS --libs=base,net` WXBASE_LIBS_STATIC=`$WXBASE_CONFIG_WITH_ARGS --static --libs=base,net` dnl we have CPPFLAGS included in CFLAGS included in CXXFLAGS WXBASE_CPPFLAGS=`$WXBASE_CONFIG_WITH_ARGS --cppflags` WXBASE_CXXFLAGS=`$WXBASE_CONFIG_WITH_ARGS --cxxflags` WXBASE_CFLAGS=`$WXBASE_CONFIG_WITH_ARGS --cflags` WXBASE_CFLAGS_ONLY=`echo $WXBASE_CFLAGS | sed "s@^$WXBASE_CPPFLAGS *@@"` WXBASE_CXXFLAGS_ONLY=`echo $WXBASE_CXXFLAGS | sed "s@^$WXBASE_CFLAGS *@@"` WXBASE24FOUND=0 WXBASE25FOUND=1 AC_SUBST(WXBASE_CPPFLAGS) AC_SUBST(WXBASE_CFLAGS) AC_SUBST(WXBASE_CXXFLAGS) AC_SUBST(WXBASE_CFLAGS_ONLY) AC_SUBST(WXBASE_CXXFLAGS_ONLY) AC_SUBST(WXBASE_LIBS) AC_SUBST(WXBASE_LIBS_STATIC) AC_SUBST(WXBASE_VERSION) else dnl For wx < 2.5.0, looking for wxbase-config dnl do we have wxbase-config name: it can be wxbase-config or wxd-config or ... if test x${WXBASE_CONFIG_NAME+set} != xset ; then WXBASE_CONFIG_NAME=wxbase-2.4-config fi if test "x$wxbase_config_name" != x ; then WXBASE_CONFIG_NAME="$wxbase_config_name" fi dnl deal with optional prefixes if test x$wxbase_config_exec_prefix != x ; then wxbase_config_args="$wxbase_config_args --exec-prefix=$wxbase_config_exec_prefix" WXBASE_LOOKUP_PATH="$wxbase_config_exec_prefix/bin" fi if test x$wxbase_config_prefix != x ; then wxbase_config_args="$wxbase_config_args --prefix=$wxbase_config_prefix" WXBASE_LOOKUP_PATH="$WXBASE_LOOKUP_PATH:$wxbase_config_prefix/bin" fi dnl don't search the PATH if WXBASE_CONFIG_NAME is absolute filename if test -x "$WXBASE_CONFIG_NAME" ; then AC_MSG_CHECKING(for wxbase-config) WXBASE_CONFIG_PATH="$WXBASE_CONFIG_NAME" AC_MSG_RESULT($WXBASE_CONFIG_PATH) else AC_PATH_PROG(WXBASE_CONFIG_PATH, $WXBASE_CONFIG_NAME, no, "$WXBASE_LOOKUP_PATH:$PATH") fi if test "$WXBASE_CONFIG_PATH" != "no" ; then WXBASE_VERSION="" no_wxbase="" min_wxbase_version=ifelse([$1], ,2.4.2,$1) AC_MSG_CHECKING(for wxWidgets base version >= $min_wxbase_version) WXBASE_CONFIG_WITH_ARGS="$WXBASE_CONFIG_PATH $wxbase_config_args" WXBASE_VERSION=`$WXBASE_CONFIG_WITH_ARGS --version` vers=`echo $WXBASE_VERSION | $AWK 'BEGIN { FS = "."; } { printf "% d", ([$]1 * 1000 + [$]2) * 1000 + [$]3;}'` minvers=`echo $min_wxbase_version | $AWK 'BEGIN { FS = "."; } { printf "% d", ([$]1 * 1000 + [$]2) * 1000 + [$]3;}'` if test -n "$vers" && test "$vers" -ge $minvers; then WXBASE24FOUND=1 WXBASE25FOUND=0 WXBASE_LIBS=`$WXBASE_CONFIG_WITH_ARGS --libs` WXBASE_LIBS_STATIC=`$WXBASE_CONFIG_WITH_ARGS --static --libs` dnl we have CPPFLAGS included in CFLAGS included in CXXFLAGS WXBASE_CPPFLAGS=`$WXBASE_CONFIG_WITH_ARGS --cppflags` WXBASE_CXXFLAGS=`$WXBASE_CONFIG_WITH_ARGS --cxxflags` WXBASE_CFLAGS=`$WXBASE_CONFIG_WITH_ARGS --cflags` WXBASE_CFLAGS_ONLY=`echo $WXBASE_CFLAGS | sed "s@^$WXBASE_CPPFLAGS *@@"` WXBASE_CXXFLAGS_ONLY=`echo $WXBASE_CXXFLAGS | sed "s@^$WXBASE_CFLAGS *@@"` else no_wxbase=yes fi if test "x$no_wxbase" = x ; then AC_MSG_RESULT(yes (version $WXBASE_VERSION)) ifelse([$2], , :, [$2]) else if test "x$WXBASE_VERSION" = x; then dnl no wxbase-config at all AC_MSG_RESULT(no) else AC_MSG_RESULT(no (version $WXBASE_VERSION is not new enough)) fi WXBASE24FOUND=0 WXBASE25FOUND=0 WXBASE_CFLAGS="" WXBASE_CPPFLAGS="" WXBASE_CXXFLAGS="" WXBASE_LIBS="" WXBASE_LIBS_STATIC="" ifelse([$3], , :, [$3]) AC_MSG_NOTICE([ WARNING: A usable libwx_base was not found. This is not needed for compiling aMule, but it is for compiling amulecmd. If you have no wxbase, amulecmd will be linked against wxgtk, thus removing all the non-graphical client meaning at all. Please check that wxbase-2.X-config is in path, the directory where wxWidgets base libraries are installed (returned by 'wxbase-2.X-config --libs' command) is in LD_LIBRARY_PATH or equivalent variable and wxWidgets base version is new enough. Or this might also be that your wxbase-config has other name. Please try again with --with-wxbase-config=/usr/bin/wxbase-config (replace /usr/bin/wxbase-config with a valid path to your wxbase-config) * Note: Most probably, either one of the above aren't correct, you don't have wxbase installed, or are missing wxbase-devel (or equivalent) package. ]) fi fi AC_SUBST(WXBASE_CPPFLAGS) AC_SUBST(WXBASE_CFLAGS) AC_SUBST(WXBASE_CXXFLAGS) AC_SUBST(WXBASE_CFLAGS_ONLY) AC_SUBST(WXBASE_CXXFLAGS_ONLY) AC_SUBST(WXBASE_LIBS) AC_SUBST(WXBASE_LIBS_STATIC) AC_SUBST(WXBASE_VERSION) fi ]) --- NEW FILE: configure.in --- AC_PREREQ(2.50) AC_INIT(DET, 1.33.0) AC_CANONICAL_TARGET AM_INIT_AUTOMAKE([1.6.1 foreign no-installinfo no-installman subdir-objects]) dnl Check for programs AC_LANG([C++]) AC_PROG_CC AC_PROG_CXX AC_PROG_INSTALL AM_PROG_LIBTOOL dnl GCC ersion check if test x$GCC = xyes; then AC_MSG_CHECKING([version 3.x of gcc]) if test -n "`$CC --version 2>&1|grep '3.'`"; then AC_DEFINE(EXT_HASH, 1, Use old STL hash options) AC_DEFINE(GCC_3_1, 1, 3.x GCC version) AC_MSG_RESULT(yes); else AC_MSG_RESULT(no) fi fi # ***** DEBUGGING AC_ARG_ENABLE(debug,[ --enable-debug enable debugging [default=no]]) if test "$enable_debug" = "yes"; then CXXFLAGS=" $CXXFLAGS -g -D_DEBUG" else CXXFLAGS=" $CXXFLAGS -O2 " fi # *** XERCES-C AC_ARG_WITH(xercesc, [ --with-xercesc=path compile with xercesc path], xercesc_path="$withval", xercesc_path="/usr") AC_CHECK_LIB(xerces-c, main, [ AC_MSG_CHECKING(for Xerces-C location) if test -f "$xercesc_path/lib/libxerces-c.so"; then AC_MSG_RESULT([found in $xercesc_path]) XERCESC_LIBS=" -lxerces-c " XERCESC_LDFLAGS=" -L$xercesc_path/lib " CXXFLAGS=" $CXXFLAGS -I$xercesc_path/include " else AC_MSG_RESULT([not found in $xercesc_path]) fi ], [AC_MSG_ERROR([cannot find the libxerces library])], [-lpthread] ) # *** WxGTK AM_OPTIONS_WXCONFIG AM_PATH_WXCONFIG(2.4.0) # *** STLPORT AC_ARG_WITH(stlport, [ --with-stlport=path compile with stlport path], stlport_path="$withval", stlport_path="/usr") AC_CHECK_LIB(stlport, main, [ AC_MSG_CHECKING(for STLPORT location) if test -f "$stlport_path/lib/libstlport.so"; then AC_MSG_RESULT(found in $stlport_path) STLPORT_LIBS=" -lstlport " STLPORT_LDFLAGS=" -L$stlport_path/lib " CXXFLAGS=" -I$stlport_path/include $CXXFLAGS " else AC_MSG_RESULT(not found in $stlport_path); fi ]) dnl Other stuff we need AC_CHECK_FUNC(snprintf, AC_DEFINE(HAVE_SNPRINTF,,snprintf)) AC_CHECK_FUNC(vsnprintf, AC_DEFINE(HAVE_VSNPRINTF,1,vsnprintf)) AC_CHECK_PROG(HAVE_DOXYGEN_PROG, doxygen, `which doxygen`, false) AC_CHECK_LIB(pthread, pthread_create) AC_SUBST(WX_LIBS) AC_SUBST(WX_CXXFLAGS) AC_SUBST(XERCESC_LIBS) AC_SUBST(XERCESC_LDFLAGS) AC_SUBST(STLPORT_LIBS) AC_SUBST(STLPORT_LDFLAGS) dnl Create the makefiles AC_CONFIG_FILES([Makefile]) AC_OUTPUT --- NEW FILE: bootstrap --- #!/bin/sh # Check for proper versions of autotools # We require: # - autoconf 2.50+ # - automake 1.6+ # - libtool 1.4+ # Deal with some gentoo-specific issues export WANT_AUTOMAKE='1.7' export WANT_AUTOCONF_2_5=1 ## Using prereq in autoconf rather than here, mostly for the debian systems at ## this point if test -z "`autoconf --version 2>&1|head -n 1|egrep '2.5'`"; then echo "Autoconf 2.50 or above is required. Aborting build..."; exit 1; fi if test -z "`automake --version 2>&1|head -n 1|egrep '1.[6-9]'`"; then echo "Automake 1.6 or above is required. Aborting build..."; exit 1; fi if test -z "`libtool --version 2>&1|head -n 1|egrep '1.[4-5]'`"; then echo "Libtool 1.4 or above is required. Aborting build..."; exit 1; fi echo "Bootstrap..." # Fire up autotools libtoolize --force && aclocal $ACLOCAL_FLAGS && automake --include-deps --add-missing --foreign && autoconf && ./configure $@ |
|
From: Jochen S. <jos...@us...> - 2004-10-17 22:27:05
|
Update of /cvsroot/darkeyetool/det/src/dsa In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2991/src/dsa Modified Files: Texte.cpp Sonderfertigkeit.h Added Files: .cvsignore Log Message: - Bugfixes - Autotools-Unterstützung. --- NEW FILE: .cvsignore --- .deps .dirstamp Index: Texte.cpp =================================================================== RCS file: /cvsroot/darkeyetool/det/src/dsa/Texte.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- Texte.cpp 17 Oct 2004 20:04:52 -0000 1.5 +++ Texte.cpp 17 Oct 2004 22:26:55 -0000 1.6 @@ -117,9 +117,12 @@ //@-node:Lang //@+node:Text std::string Texte::Text(const std::string& t) { -#ifdef _DEBUG - if (instanz_==0) { Log::Error("Texte::instanz_ war nicht initialisiert"); Initialisiere(); } + if (instanz_==0) { +#ifdef _DEBUG + Log::Error("Texte::instanz_ war nicht initialisiert"); #endif + Initialisiere(); + } DDict::const_iterator i = instanz_->lexikon_.find(t); if (i == instanz_->lexikon_.end()) { // Log::Error("Texte::Text: unbekannter Ausdruck " + t); TODO Kommentar weg @@ -242,6 +245,10 @@ //@+node:<< Version History >> // $Log$ +// Revision 1.6 2004/10/17 22:26:55 josch1710 +// - Bugfixes +// - Autotools-Unterstützung. +// // Revision 1.5 2004/10/17 20:04:52 twel // Gross-/Kleinschreibung // Index: Sonderfertigkeit.h =================================================================== RCS file: /cvsroot/darkeyetool/det/src/dsa/Sonderfertigkeit.h,v retrieving revision 1.20 retrieving revision 1.21 diff -u -d -r1.20 -r1.21 --- Sonderfertigkeit.h 17 Oct 2004 19:12:40 -0000 1.20 +++ Sonderfertigkeit.h 17 Oct 2004 22:26:55 -0000 1.21 @@ -127,7 +127,7 @@ bool IstMerkmalskenntnis() const; Zaubermerkmal Merkmalskenntnis() const; Erzdaemon Domaene() const; - Element Element() const; + enum Element Element() const; void IstWaffenloserKampfstil(bool w) { waffenloserkampfstil_ = w; } bool IstWaffenloserKampfstil() const { return waffenloserkampfstil_; } @@ -288,6 +288,10 @@ //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.21 2004/10/17 22:26:55 josch1710 +// - Bugfixes +// - Autotools-Unterstützung. +// // Revision 1.20 2004/10/17 19:12:40 vrandezo // IDs und Bezeichner getrennt - I18N vorbereitet // ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. |
|
From: Jochen S. <jos...@us...> - 2004-10-17 22:27:05
|
Update of /cvsroot/darkeyetool/det/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2991/src Modified Files: .cvsignore Log Message: - Bugfixes - Autotools-Unterstützung. Index: .cvsignore =================================================================== RCS file: /cvsroot/darkeyetool/det/src/.cvsignore,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- .cvsignore 28 Apr 2004 20:32:52 -0000 1.1 +++ .cvsignore 17 Oct 2004 22:26:54 -0000 1.2 @@ -1 +1,3 @@ detVer.cpp +.deps +.dirstamp |
|
From: Jochen S. <jos...@us...> - 2004-10-17 22:27:03
|
Update of /cvsroot/darkeyetool/det/src/gui In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2991/src/gui Modified Files: PersonenKomponenteGUIwx.h MengeGUIwx.h Added Files: .cvsignore Log Message: - Bugfixes - Autotools-Unterstützung. --- NEW FILE: .cvsignore --- .deps .dirstamp Index: MengeGUIwx.h =================================================================== RCS file: /cvsroot/darkeyetool/det/src/gui/MengeGUIwx.h,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- MengeGUIwx.h 17 Oct 2004 19:12:41 -0000 1.13 +++ MengeGUIwx.h 17 Oct 2004 22:26:54 -0000 1.14 @@ -337,7 +337,7 @@ //@+node:<< OnLoescheBtn >> virtual void OnLoeschenBtn(wxCommandEvent& WXUNUSED(event)) { if (idListe_->GetSelection()==-1) return; - std::string name = idListe_->GetStringSelection(); + std::string name = (std::string)idListe_->GetStringSelection(); if (!idModus_) name = objekte_->Finde(name); Loesche(name.c_str()); @@ -459,6 +459,10 @@ //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.14 2004/10/17 22:26:54 josch1710 +// - Bugfixes +// - Autotools-Unterstützung. +// // Revision 1.13 2004/10/17 19:12:41 vrandezo // IDs und Bezeichner getrennt - I18N vorbereitet // ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. Index: PersonenKomponenteGUIwx.h =================================================================== RCS file: /cvsroot/darkeyetool/det/src/gui/PersonenKomponenteGUIwx.h,v retrieving revision 1.40 retrieving revision 1.41 diff -u -d -r1.40 -r1.41 --- PersonenKomponenteGUIwx.h 17 Oct 2004 19:12:42 -0000 1.40 +++ PersonenKomponenteGUIwx.h 17 Oct 2004 22:26:54 -0000 1.41 @@ -1011,8 +1011,8 @@ //@<< KonstruiereAuswahl >> //@+node:<< KonstruiereAuswahl >> -template<class TDefs, class T> -DSA::Auswahl<T> KonstruiereAuswahl(bool& ok, TDefs* liste, T) { +template<class TDefs_, class T> // Gehört das zu PersonenKomponenteGUIwx? Dann ist das falsch! +DSA::Auswahl<T> KonstruiereAuswahl(bool& ok, TDefs_* liste, T) { ok = false; DSA::Auswahl<T> auswahl; auswahl.Kommentar(talAuswahlKommentar_->GetValue().c_str()); @@ -2316,6 +2316,10 @@ //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.41 2004/10/17 22:26:54 josch1710 +// - Bugfixes +// - Autotools-Unterstützung. +// // Revision 1.40 2004/10/17 19:12:42 vrandezo // IDs und Bezeichner getrennt - I18N vorbereitet // ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. |
|
From: Twelwan <tw...@us...> - 2004-10-17 20:05:01
|
Update of /cvsroot/darkeyetool/det/src/dsa In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28824/src/dsa Modified Files: Texte.cpp Log Message: Gross-/Kleinschreibung Index: Texte.cpp =================================================================== RCS file: /cvsroot/darkeyetool/det/src/dsa/Texte.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- Texte.cpp 17 Oct 2004 19:12:40 -0000 1.4 +++ Texte.cpp 17 Oct 2004 20:04:52 -0000 1.5 @@ -75,7 +75,7 @@ //#include "wx/textfile.h" #include "Texte.h" -#include "detConfig.h" +#include "detconfig.h" #include "LaderXerces.h" //@nonl //@-node:<< includes >> @@ -242,6 +242,9 @@ //@+node:<< Version History >> // $Log$ +// Revision 1.5 2004/10/17 20:04:52 twel +// Gross-/Kleinschreibung +// // Revision 1.4 2004/10/17 19:12:40 vrandezo // IDs und Bezeichner getrennt - I18N vorbereitet // ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. |
|
From: Denny V. <vra...@us...> - 2004-10-17 19:25:25
|
Update of /cvsroot/darkeyetool/det/src/dsa In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19110 Added Files: Definition.cpp Definition.h Log Message: IDs und Bezeichner getrennt - I18N vorbereitet ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. Aber Entwicklung ohne CVS wird mir zu doof. Vorsicht vor allem mit Helden und RKP. Tausend Kleinigkeiten geaendert. Neue Datensaetze in basis.xdi. --- NEW FILE: Definition.cpp --- //@+leo-ver=4-encoding=iso-8859-1. //@+node:@file Definition.cpp //@+at // Definition.cpp: Implementierung der virtuellen // Basisklasse Definition // // $Revision: 1.1 $ // $Date: 2004/10/17 19:25:08 $ //@-at //@@c //@<< header >> //@+node:<< header >> //@+at // Copyright (c) 2002-2004, Zdenko Denny Vrandecic and // contributors. // All rights reserved. // (The license follows closely the new // BSD-OpenSource-License) // // Redistribution and use in source and binary forms, with // or without // modification, are permitted provided that the following // conditions are met: // Redistributions of source code must retain the above // copyright notice, this list of conditions and the // following disclaimer. // Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the // following disclaimer in the documentation // and/or other materials provided with the distribution. // Neither the name of the copyrightholder or one of the // contributers to this source may be used to endorse or // promote products derived from this software without // specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND // CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED // WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A // PARTICULAR PURPOSE ARE DISCLAIMED. // IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // If you use this source, please inform me, so I can keep // track of how useful it really is. That would be very // appreciated. // // The data distributed with this code is copyrighted by // Fantasy Production, Erkrath, Germany, and *not* subject // to the here given license. Distributing and using this // data is granted by FanPro for the purpose of using // computer driven tools for the role playing game "Das // Schwarze Auge" / "The Dark Eye". Any other use is only // allowed with prior written permission by FanPro. //@-at //@@c #ifdef MSVC #pragma warning(disable:4786 4503) #endif //@-node:<< header >> //@nl //@<< includes >> //@+node:<< includes >> #include "Definition.h" #include "NDSAUtil.h" #include "PersistenzManager.h" //@-node:<< includes >> //@nl //@<< filename >> //@+node:<< filename >> #ifdef _DEBUG #undef THIS_FILE static char THIS_FILE[]=__FILE__; //#define new DEBUG_NEW #endif //@-node:<< filename >> //@nl namespace DSA { //@ << Definition >> //@+node:<< Definition >> void Definition::ID(const std::string& id) { if (strings::BeginntMit(id, VirtuelleKlasse())) id_ = id; else { id_ = strings::MacheID(VirtuelleKlasse(), id); } } void Definition::Beschreibung(const std::string& beschreibung, const std::string& sprache) { beschreibung_[sprache] = beschreibung; } std::string Definition::Beschreibung(const std::string& sprache) const { Dict::const_iterator i = beschreibung_.find(sprache); if (i != beschreibung_.end()) return i->second; return ""; } //@+others //@+node:Bezeichnung void Definition::Bezeichnung(const std::string& bez, const std::string& sprache) { bezeichnung_[sprache] = bez; } std::string Definition::Bezeichnung(const std::string& sprache) const { Dict::const_iterator i = bezeichnung_.find(sprache); if (i != bezeichnung_.end()) return i->second; i = bezeichnung_.find(DSA::StandardLang()); if (i != bezeichnung_.end()) return i->second; if (bezeichnung_.size() > 0) return bezeichnung_.begin()->second; if (strings::BeginntMit(ID(), VirtuelleKlasse())) return strings::OhneAnfangExakt(ID(), VirtuelleKlasse()); return ID(); } //@-node:Bezeichnung //@+node:LeseBezeichnung int Definition::LeseBezeichnung(PersistenzManager* pm, std::string& geleseneID, Dict& bezeichnung, Dict& beschreibung) { int rv = 0; std::string sBuf = geleseneID; if (!strings::BeginntMit(geleseneID, VirtuelleKlasse())) geleseneID = strings::MacheID(VirtuelleKlasse(), geleseneID); else if (islower(strings::OhneAnfangExakt(geleseneID, VirtuelleKlasse())[0])) geleseneID = strings::MacheID(VirtuelleKlasse(), geleseneID); if (pm->Existiert("Bezeichnung")) { StringListe langs; rv += pm->IDListe("Bezeichnung", langs); for (StringListe::iterator si = langs.begin(); si != langs.end(); ++si) { rv += pm->Lese("Bezeichnung", *si, sBuf); bezeichnung[*si] = sBuf; } } else bezeichnung[DSA::StandardLang()] = sBuf; if (pm->Existiert("Beschreibung")) { StringListe langs; rv += pm->IDListe("Beschreibung", langs); if (langs.size()>0) { for (StringListe::iterator si = langs.begin(); si != langs.end(); ++si) { rv += pm->Lese("Beschreibung", *si, sBuf); beschreibung[*si] = sBuf; } } else { rv += pm->Lese("Beschreibung", sBuf); beschreibung[DSA::StandardLang()] = sBuf; } } return rv; } //@nonl //@-node:LeseBezeichnung //@+node:SchreibeBezeichnung int Definition::SchreibeBezeichnung(PersistenzManager* pm) const { int rv = 0; if (bezeichnung_.size() > 0) for (Dict::const_iterator i = bezeichnung_.begin(); i != bezeichnung_.end(); ++i) rv += pm->Schreibe("Bezeichnung", i->first, i->second); if (beschreibung_.size() > 0) for (Dict::const_iterator i = beschreibung_.begin(); i != beschreibung_.end(); ++i) rv += pm->Schreibe("Beschreibung", i->first, i->second); return rv; } //@nonl //@-node:SchreibeBezeichnung //@-others //@-node:<< Definition >> //@nl } //@<< Version History >> //@+node:<< Version History >> // $Log: Definition.cpp,v $ // Revision 1.1 2004/10/17 19:25:08 vrandezo // IDs und Bezeichner getrennt - I18N vorbereitet // ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. // Aber Entwicklung ohne CVS wird mir zu doof. // Vorsicht vor allem mit Helden und RKP. // Tausend Kleinigkeiten geaendert. // Neue Datensaetze in basis.xdi. // //@-node:<< Version History >> //@nl //@-node:@file Definition.cpp //@-leo --- NEW FILE: Definition.h --- (This appears to be a binary file; contents omitted.) |
|
From: Denny V. <vra...@us...> - 2004-10-17 19:14:08
|
Update of /cvsroot/darkeyetool/det In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15658 Modified Files: basis.xdi det.leo dettexte.txt dsa4wzdev.iss license.txt Added Files: texte.xml Log Message: IDs und Bezeichner getrennt - I18N vorbereitet ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. Aber Entwicklung ohne CVS wird mir zu doof. Vorsicht vor allem mit Helden und RKP. Tausend Kleinigkeiten geaendert. Neue Datensaetze in basis.xdi. Index: basis.xdi =================================================================== RCS file: /cvsroot/darkeyetool/det/basis.xdi,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- basis.xdi 24 Apr 2004 11:22:01 -0000 1.12 +++ basis.xdi 17 Oct 2004 19:12:33 -0000 1.13 @@ -2,640 +2,15 @@ <XDIML lang="de" version="1.01"> <Inhalt> - <Personen> - <Person ID="AT Sharisad"> - <Name>Archetyp Tulamidische Sharisad</Name> - <GP>110</GP> - <Geschlecht>weiblich</Geschlecht> - <Rasse ID="Tulamiden"> - <Bezeichnung>Tulamiden</Bezeichnung> - <GP>0</GP> [...53822 lines suppressed...] - <Variante>Seele beruhigen</Variante> - </Varianten> - <Verbreitungen> - <Verbreitung ID="Druiden"> - <Wert>4</Wert> - </Verbreitung> - <Verbreitung ID="Geoden"> - <Wert>5</Wert> - </Verbreitung> - <Verbreitung ID="Gildenmagier"> - <Wert>4</Wert> - </Verbreitung> - <Verbreitung ID="Hexen"> - <Wert>7</Wert> - </Verbreitung> - </Verbreitungen> - <Beschreibung>siehe Liber Cantiones, S. 16</Beschreibung> </Zauber> </Zaubersprüche> </Inhalt> --- NEW FILE: texte.xml --- <?xml version="1.0" encoding="UTF-8" standalone="no"?> <Begriffe> <Begriff ID="Name"> <Sprache ID="Deutsch">Name</Sprache> <Sprache ID="English">Name</Sprache> </Begriff> <Begriff ID="ID"> <Sprache ID="Deutsch">ID</Sprache> <Sprache ID="English">ID</Sprache> </Begriff> <Begriff ID="Neu"> <Sprache ID="Deutsch">Neu</Sprache> <Sprache ID="English">New</Sprache> </Begriff> <Begriff ID="Umbenennen"> <Sprache ID="Deutsch">Umbenennen</Sprache> <Sprache ID="English">Rename</Sprache> </Begriff> <Begriff ID="Kopieren"> [...1072 lines suppressed...] <Sprache ID="Deutsch">Tasfarelel</Sprache> <Sprache ID="English">Tasfarelel</Sprache> </Begriff> <Begriff ID="Mishkhara"> <Sprache ID="Deutsch">Mishkhara</Sprache> <Sprache ID="English">Mishkhara</Sprache> </Begriff> <Begriff ID="Agrimoth"> <Sprache ID="Deutsch">Agrimoth</Sprache> <Sprache ID="English">Agrimoth</Sprache> </Begriff> <Begriff ID="Belkekel"> <Sprache ID="Deutsch">Belkekel</Sprache> <Sprache ID="English">Belkekel</Sprache> </Begriff> <Begriff ID="Professionen"> <Sprache ID="Deutsch">Professionen</Sprache> <Sprache ID="English">Professions</Sprache> </Begriff> </Begriffe> Index: det.leo =================================================================== RCS file: /cvsroot/darkeyetool/det/det.leo,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- det.leo 24 Apr 2004 11:22:49 -0000 1.7 +++ det.leo 17 Oct 2004 19:12:34 -0000 1.8 @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <leo_file> -<leo_header file_format="2" tnodes="0" max_tnode_index="2168" clone_windows="0"/> -<globals body_outline_ratio="0.29999999999999999"> +<leo_header file_format="2" tnodes="0" max_tnode_index="2318" clone_windows="0"/> +<globals body_outline_ratio="0.36499466382070439"> <global_window_position top="0" left="79" height="714" width="937"/> <global_log_window_position top="0" left="0" height="0" width="0"/> </globals> @@ -13,2883 +13,3094 @@ </find_panel_settings> [...44031 lines suppressed...] +<t tx="T2316">@nocolor @doc DSA4 Werkzeug / Dark Eye Tool is being developed by German speaking fans of the Dark Eye (which is called Das Schwarze Auge in Germany). Nevertheless, this program was intended to be used also by English speaking fans of the Dark Eye. Here you will find the English section, that includes the English documentation and a dictionary of Dark Eye terms. The source code (that means, the name of the variables and the language used for comments) of the Dark Eye tool is written in German (sorry for that), but if there grows interest in participating in the further development of the Dark Eye Tool I will try to translate all requested parts to English.</t> -<t tx="T2167">@nocolor +<t tx="T2317">@nocolor @doc Projektleiter @@ -50316,7 +53768,7 @@ Andreas Schoolman für die Helden-Software Das SourceForge-Projekt DSA Manager für manch hilfreichen Hinweis in deren eigener Diskussion, und für den Ansporn, sie ein wenig herauszufordern. Mit solcher Konkurrenz macht es SpaÃ. Bedauerlich, dass sie es selbst nie zu einem Release schafften. Wollt ihr euch nicht dem DSA4 Werkzeug anschlieÃen? </t> -<t tx="T2168">zunächst, vielen Dank für Dein Interesse am DSA4 Werkzeug! +<t tx="T2318">zunächst, vielen Dank für Dein Interesse am DSA4 Werkzeug! Das Projekt kann immer und gerne neue Tester brauchen, und vielleicht wecken wir Dein Interesse auch soweit, dass Du noch an anderen Baustellen beitragen magst. Index: dettexte.txt =================================================================== RCS file: /cvsroot/darkeyetool/det/dettexte.txt,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- dettexte.txt 17 Oct 2003 23:15:28 -0000 1.13 +++ dettexte.txt 17 Oct 2004 19:12:37 -0000 1.14 @@ -1,33 +1,91 @@ - - + + +(Sehr empfohlen) +Sie starten zum ersten Mal diese Version des DSA4 Werkzeugs. ++ ++ +- +- +< [...996 lines suppressed...] weiblich +wirkt auf +wirkt auf +wurde verändert +wurde verändert zeitaufwendig zeitaufwendig Übernehmen -Übernehmen +Apply +Übersicht +Übersicht +Übliche Kulturen +Übliche Kulturen Übliche Rassen Übliche Rassen übliche übliche +übliche und mögliche Kulturen +übliche und mögliche Kulturen Index: license.txt =================================================================== RCS file: /cvsroot/darkeyetool/det/license.txt,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- license.txt 26 Nov 2003 15:52:46 -0000 1.2 +++ license.txt 17 Oct 2004 19:12:37 -0000 1.3 @@ -1,42 +1,50 @@ -Copyright (c) 2002/2003, Zdenko Denny Vrandecic +Copyright (c) 2002-2004, Zdenko Denny Vrandecic + All rights reserved. + (The license follows closely the new BSD-OpenSource-License) -Redistribution and use in source and binary forms, with or without + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: -Redistributions of source code must retain the above copyright notice, this -list of conditions and the following disclaimer. + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + Redistributions in binary form must reproduce the above copyright notice, -this list of conditions and the following disclaimer in the documentation + this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -Neither the name of the copyrightholder or one of the contributers to -this source may be used to endorse or promote products derived from this + +Neither the name of the copyrightholder or one of the contributers to +this source may be used to endorse or promote products derived from this software without specific prior written permission. + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS -AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED -WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED +WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT -SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE + FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT + SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING -IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING +IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + If you use this source, please inform me, so I can keep track of how -useful it really is. That would be very appreciated. + useful it really is. That would be very appreciated. -The data distributed with this code is copyrighted by Fantasy Production, -Erkrath, Germany, and *not* subject to the here given license. Distributing + +The data distributed with this code is copyrighted by Fantasy Production, +Erkrath, Germany, and *not* subject to the here given license. Distributing and using this data is granted by FanPro for the purpose of using computer -driven tools for the role playing game "Das Schwarze Auge". Any other use -is only allowed with prior written permission by FanPro. \ No newline at end of file +driven tools for the role playing game "Das Schwarze Auge" / "The Dark Eye". Any other use +is only allowed with prior written permission by FanPro. Index: dsa4wzdev.iss =================================================================== RCS file: /cvsroot/darkeyetool/det/dsa4wzdev.iss,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- dsa4wzdev.iss 7 Apr 2004 15:41:20 -0000 1.9 +++ dsa4wzdev.iss 17 Oct 2004 19:12:37 -0000 1.10 @@ -16,7 +16,7 @@ LicenseFile=D:\WorkingDir\det\license.txt InfoBeforeFile=D:\WorkingDir\det\liesmich.txt MessagesFile=compiler:german-2-2.0.18.isl -OutputBaseFilename=det131 +OutputBaseFilename=det131a OutputDir=c:\ ; uncomment the following line if you want your installation to run on NT 3.51 too. ; MinVersion=4,3.51 @@ -27,14 +27,9 @@ [Files] Source: "D:\WorkingDir\det\det.exe"; DestDir: "{app}"; CopyMode: alwaysoverwrite Source: "D:\WorkingDir\det\xerces-c_2_5_0.dll"; DestDir: "{app}"; CopyMode: alwaysoverwrite -Source: "D:\WorkingDir\det\output\Heldenbriefreadme.txt"; DestDir: "{app}\output"; CopyMode: alwaysoverwrite -Source: "D:\WorkingDir\det\output\HeldenbriefKurzanleitung.html"; DestDir: "{app}\output"; CopyMode: alwaysoverwrite -Source: "D:\WorkingDir\det\output\dsa4person.dtd"; DestDir: "{app}\output"; CopyMode: alwaysoverwrite -Source: "D:\WorkingDir\det\output\dsa4person.xsl"; DestDir: "{app}\output"; CopyMode: alwaysoverwrite -Source: "D:\WorkingDir\det\output\alrik.xml"; DestDir: "{app}\output"; CopyMode: alwaysoverwrite -Source: "D:\WorkingDir\det\output\vorlage.html"; DestDir: "{app}\output"; CopyMode: alwaysoverwrite -Source: "D:\WorkingDir\det\output\vorlage.rtf"; DestDir: "{app}\output"; CopyMode: alwaysoverwrite -Source: "D:\WorkingDir\det\output\vorlage.txt"; DestDir: "{app}\output"; CopyMode: alwaysoverwrite +Source: "D:\WorkingDir\det\msvcr71.dll"; DestDir: "{app}"; CopyMode: alwaysoverwrite +Source: "D:\WorkingDir\det\msvcp71.dll"; DestDir: "{app}"; CopyMode: alwaysoverwrite +Source: "D:\WorkingDir\det\output\*.*"; DestDir: "{app}\output"; CopyMode: alwaysoverwrite Source: "C:\nodix\dsa4wzdoc\doc\*.*"; DestDir: "{app}\doc"; CopyMode: alwaysoverwrite Source: "C:\nodix\dsa4wzdoc\doc\bilder\*.*"; DestDir: "{app}\doc\bilder"; CopyMode: alwaysoverwrite Source: "C:\nodix\www\dsa4\daten\data.xdi"; DestDir: "{app}"; CopyMode: onlyifdoesntexist |
|
From: Denny V. <vra...@us...> - 2004-10-17 19:13:26
|
Update of /cvsroot/darkeyetool/det/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15658/src Modified Files: LaderXerces.cpp LaderXerces.h Log.cpp Log.h PersistenzManagerXerces.cpp PersistenzManagerXerces.h Update.cpp Update.h det.cpp detVer.h detconfig.cpp detconfig.h Log Message: IDs und Bezeichner getrennt - I18N vorbereitet ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. Aber Entwicklung ohne CVS wird mir zu doof. Vorsicht vor allem mit Helden und RKP. Tausend Kleinigkeiten geaendert. Neue Datensaetze in basis.xdi. Index: PersistenzManagerXerces.cpp =================================================================== RCS file: /cvsroot/darkeyetool/det/src/PersistenzManagerXerces.cpp,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- PersistenzManagerXerces.cpp 4 Apr 2004 21:06:41 -0000 1.10 +++ PersistenzManagerXerces.cpp 17 Oct 2004 19:12:39 -0000 1.11 @@ -12,21 +12,71 @@ //@<< header >> //@+node:<< header >> //@+at -// The content of this file is subject to the license -// given in license.txt +// Copyright (c) 2002-2004, Zdenko Denny Vrandecic and +// contributors. +// All rights reserved. +// (The license follows closely the new +// BSD-OpenSource-License) +// +// Redistribution and use in source and binary forms, with +// or without +// modification, are permitted provided that the following +// conditions are met: +// Redistributions of source code must retain the above +// copyright notice, this list of conditions and the +// following disclaimer. +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the +// following disclaimer in the documentation +// and/or other materials provided with the distribution. +// Neither the name of the copyrightholder or one of the +// contributers to this source may be used to endorse or +// promote products derived from this software without +// specific prior written permission. // +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +// CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// If you use this source, please inform me, so I can keep +// track of how useful it really is. That would be very +// appreciated. +// +// The data distributed with this code is copyrighted by +// Fantasy Production, Erkrath, Germany, and *not* subject +// to the here given license. Distributing and using this +// data is granted by FanPro for the purpose of using +// computer driven tools for the role playing game "Das +// Schwarze Auge" / "The Dark Eye". Any other use is only +// allowed with prior written permission by FanPro. //@-at //@@c #ifdef MSVC #pragma warning(disable:4786 4503) #endif + //@-node:<< header >> //@nl //@<< includes >> //@+node:<< includes >> #include "PersistenzManagerXerces.h" +#include "dsa/Texte.h" +#include "dsa/NDSAUtil.h" +//@nonl //@-node:<< includes >> //@nl @@ -81,12 +131,12 @@ //@+node:Version std::string PersistenzManagerXerces::Version() const { std::string v; - lader_->LeseAttribut(lader_->Wurzel(), _t("version"), &v); + lader_->LeseAttribut(lader_->Wurzel(), "version", &v); return v; } // Version void PersistenzManagerXerces::Version(const std::string& version) { - lader_->AttributiereKnoten(lader_->Wurzel(), _t("version"), version); + lader_->AttributiereKnoten(lader_->Wurzel(), "version", version); } // Version //@-node:Version @@ -172,21 +222,77 @@ rv += SchliesseNachLesen(); return rv; } // Lese - - int PersistenzManagerXerces::Lese (StringListe& liste, const std::string& einzeltag, const std::string& tag, std::string id) { - liste.clear(); - if (!Existiert(tag, id)) return 0; - int rv = OeffneZumLesen(tag, id); - bool offen = (rv==0); - int x = Anzahl(einzeltag); - for (int i = 0; i < x; ++i) { + +//@+others +//@+node:Lese StringListe +int PersistenzManagerXerces::Lese (StringListe& liste, const std::string& einzeltag, const std::string& tag, std::string id) { + liste.clear(); + if (!Existiert(tag, id)) return 0; + int rv = OeffneZumLesen(tag, id); + bool offen = (rv==0); + int x = Anzahl(einzeltag); + for (int i = 0; i < x; ++i) { + std::string s; + rv += LeseMehrfach(einzeltag, s, i); + liste.push_back(s); + } + if (offen) rv += SchliesseNachLesen(); + return rv; +} // Lese StringListe +//@nonl +//@-node:Lese StringListe +//@+node:Lese DDict +int PersistenzManagerXerces::Lese (DDict& dict, const std::string& einzeltag, const std::string& tag, std::string id, const std::string& oberid) { + dict.clear(); + if (!Existiert(tag, id)) return 0; + int rv = OeffneZumLesen(tag, id); + bool offen = (rv==0); + + if (Existiert(einzeltag)) { + StringListe pfad; + pfad.push_back(einzeltag); + xercesc::DOMElement* node = 0; + lader_->gehePfad(pfad, &node, 0, knoten_); + if (!lader_->ExistiertAttribut(node, "ID")) { + rv += SchliesseNachLesen(); + //return 0; + StringListe sl; + rv += Lese(sl, einzeltag, tag, id); + for (StringListe::const_iterator i = sl.begin(); i != sl.end(); ++i) { + Dict d; + d[DSA::StandardLang()] = *i; + dict[strings::MacheID(einzeltag, oberid + *i)] = d; + } + return rv; + } + } + + StringListe liste; + rv += IDListe(einzeltag, &liste); + + for (StringListe::const_iterator i = liste.begin(); i != liste.end(); ++i) { + std::string id = *i; + int rv2 = OeffneZumLesen(einzeltag, id); + if (rv2!=0) { rv += rv2; continue; } + + StringListe langs; + rv += IDListe("Bezeichnung", &langs); + Dict d; + for (StringListe::const_iterator j = langs.begin(); j != langs.end(); ++j) { std::string s; - rv += LeseMehrfach(einzeltag, s, i); - liste.push_back(s); + rv += Lese("Bezeichnung", *j, s); + d[*j] = s; } - if (offen) rv += SchliesseNachLesen(); - return rv; - } // Lese StringListe + dict[*i] = d; + rv += SchliesseNachLesen(); + } + + if (offen) rv += SchliesseNachLesen(); + return rv; +} +//@nonl +//@-node:Lese DDict +//@-others //@nonl //@-node:Lese //@+node:LeseMehrfach @@ -283,16 +389,38 @@ rv += SchliesseNachSchreiben(); return rv; } // Schreibe - - int PersistenzManagerXerces::Schreibe (const StringListe& liste, const std::string& einzeltag, const std::string& tag, const std::string& id) { - if (liste.size()==0) return 0; - int rv = OeffneZumSchreiben(tag, id); + +//@+others +//@+node:Schreibe StringListe +int PersistenzManagerXerces::Schreibe (const StringListe& liste, const std::string& einzeltag, const std::string& tag, const std::string& id) { + if (liste.size()==0) return 0; + int rv = OeffneZumSchreiben(tag, id); // if (rv!=0) return rv; - for (StringListe::const_iterator s = liste.begin(); s != liste.end(); ++s) - rv += SchreibeMehrfach(einzeltag, *s); + for (StringListe::const_iterator s = liste.begin(); s != liste.end(); ++s) + rv += SchreibeMehrfach(einzeltag, *s); + rv += SchliesseNachSchreiben(); + return rv; +} // Schreibe StringListe +//@nonl +//@-node:Schreibe StringListe +//@+node:Schreibe DDict +int PersistenzManagerXerces::Schreibe (const DDict& dict, const std::string& einzeltag, const std::string& tag, const std::string& id) { + if (dict.size()==0) return 0; + int rv = OeffneZumSchreiben(tag, id); + for (DDict::const_iterator i = dict.begin(); i != dict.end(); ++i) { + rv += OeffneZumSchreiben(einzeltag, i->first); + for (Dict::const_iterator j = i->second.begin(); j != i->second.end(); ++j) { + rv += Schreibe("Bezeichnung", j->first, j->second); + } rv += SchliesseNachSchreiben(); - return rv; - } // Schreibe StringListe + } + rv += SchliesseNachSchreiben(); + return rv; +} + +//@-node:Schreibe DDict +//@-others +//@nonl //@-node:Schreibe //@+node:SchreibeMehrfach int PersistenzManagerXerces::SchreibeMehrfach (const std::string& tag, const std::string& wert) { @@ -356,6 +484,14 @@ //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.11 2004/10/17 19:12:39 vrandezo +// IDs und Bezeichner getrennt - I18N vorbereitet +// ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. +// Aber Entwicklung ohne CVS wird mir zu doof. +// Vorsicht vor allem mit Helden und RKP. +// Tausend Kleinigkeiten geaendert. +// Neue Datensaetze in basis.xdi. +// // Revision 1.10 2004/04/04 21:06:41 vrandezo // Bug: wurde nach einem Knoten mit ID gesucht, und kam zuvor ein // Knoten ohne ID, fuehrte das zu einem Absturz Index: LaderXerces.cpp =================================================================== RCS file: /cvsroot/darkeyetool/det/src/LaderXerces.cpp,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- LaderXerces.cpp 4 Apr 2004 21:06:41 -0000 1.10 +++ LaderXerces.cpp 17 Oct 2004 19:12:38 -0000 1.11 @@ -12,15 +12,62 @@ //@<< header >> //@+node:<< header >> //@+at -// The content of this file is subject to the license -// given in license.txt +// Copyright (c) 2002-2004, Zdenko Denny Vrandecic and +// contributors. +// All rights reserved. +// (The license follows closely the new +// BSD-OpenSource-License) +// +// Redistribution and use in source and binary forms, with +// or without +// modification, are permitted provided that the following +// conditions are met: +// Redistributions of source code must retain the above +// copyright notice, this list of conditions and the +// following disclaimer. +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the +// following disclaimer in the documentation +// and/or other materials provided with the distribution. +// Neither the name of the copyrightholder or one of the +// contributers to this source may be used to endorse or +// promote products derived from this software without +// specific prior written permission. // +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +// CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// If you use this source, please inform me, so I can keep +// track of how useful it really is. That would be very +// appreciated. +// +// The data distributed with this code is copyrighted by +// Fantasy Production, Erkrath, Germany, and *not* subject +// to the here given license. Distributing and using this +// data is granted by FanPro for the purpose of using +// computer driven tools for the role playing game "Das +// Schwarze Auge" / "The Dark Eye". Any other use is only +// allowed with prior written permission by FanPro. //@-at //@@c #ifdef MSVC #pragma warning(disable:4786 4503) #endif + //@-node:<< header >> //@nl @@ -38,7 +85,7 @@ #include <fstream> #include "Log.h" -#include "dsa/Texte.h" +//#include "dsa/Texte.h" //@-node:<< includes >> //@nl @@ -70,7 +117,7 @@ catch (const xercesc::XMLException& toCatch) { - Log::Error(_t("Fehler während der XML-Initalisierung")); + Log::Error("Fehler während der XML-Initalisierung"); //Log::Add(StrX(toCatch.getMessage()), Log::Error); return; } @@ -87,8 +134,8 @@ Wurzel()->setAttribute(X(std::string("version")), X(std::string("1.01"))); Wurzel()->setAttribute(X(std::string("lang")), X(std::string("de"))); - m_Fehler = _t("kein Fehler gemeldet"); - Log::Info(_t("Lader initialisiert")); + m_Fehler = "kein Fehler gemeldet"; + Log::Info("Lader initialisiert"); } //@nonl //@-node:LaderXerces @@ -102,7 +149,7 @@ LaderXerces::~LaderXerces() { parser->release(); - Log::Info(_t("Lader destruiert")); + Log::Info("Lader destruiert"); } //@nonl //@-node:LaderXerces @@ -137,7 +184,7 @@ // TODO Hier müssen Fehlerbehandlung // und anderes rein! - Log::Debug("Lader::Lade " + _t("beendet")); + Log::Debug("Lader::Lade beendet"); return 0; } @@ -324,6 +371,7 @@ { xercesc::DOMNamedNodeMap* attribs = kinder->item(j)->getAttributes(); xercesc::DOMNode* idNode = attribs->getNamedItem(xercesc::XMLString::transcode("ID")); + if (idNode == 0) continue; liste->push_back(x2s(idNode->getNodeValue())); } @@ -341,12 +389,12 @@ int LaderXerces::LeseString (const StringListe& Pfad, std::string* Inhalt) { - Log::Error("Lader::LeseString " + _t("nicht implementiert")); + Log::Error("Lader::LeseString nicht implementiert"); xercesc::DOMElement* node; int rv = gehePfad(Pfad, &node); if (rv) return rv; // Inhalt->assign(x2s(node->getNodeValue())); // Falsch! - Log::Info("Lader::LeseString " + _t("nicht implementiert")); + Log::Info("Lader::LeseString nicht implementiert"); return 0; } //@nonl @@ -382,7 +430,7 @@ int LaderXerces::LeseInteger (const StringListe& Pfad, int* Inhalt) { - Log::Error("Lader::LeseString " + _t("nicht implementiert")); + Log::Error("Lader::LeseString nicht implementiert"); return 0; } //@nonl @@ -418,7 +466,7 @@ int LaderXerces::SchreibeString (const StringListe& Pfad, std::string Inhalt) { - Log::Error("Lader::SchreibeString " + _t("nicht implementiert")); + Log::Error("Lader::SchreibeString nicht implementiert"); return 0; } //@nonl @@ -448,7 +496,7 @@ int LaderXerces::SchreibeInteger (const StringListe& Pfad, int Inhalt) { - Log::Error("Lader::SchreibeString " + _t("nicht implementiert")); + Log::Error("Lader::SchreibeString nicht implementiert"); return 0; } //@nonl @@ -481,7 +529,7 @@ bool Ueberschreiben, std::string ID) { - Log::Error("Lader::NeuerKnoten " + _t("nicht implementiert")); + Log::Error("Lader::NeuerKnoten nicht implementiert"); return 0; } //@nonl @@ -503,7 +551,7 @@ return rv; xercesc::DOMElement* neuerKnoten = doc->createElement(X(Bezeichner)); - if (ID!="") neuerKnoten->setAttribute(X(_t("ID")), X(ID)); + if (ID!="") neuerKnoten->setAttribute(X(std::string("ID")), X(ID)); knoten->appendChild(neuerKnoten); return rv; @@ -602,7 +650,7 @@ int LaderXerces::LoescheKnoten (const StringListe& Pfad) { - Log::Error("Lader::LoescheKnoten " + _t("nicht implementiert")); + Log::Error("Lader::LoescheKnoten nicht implementiert"); return 0; } //@nonl @@ -740,7 +788,7 @@ std::string Attribut, std::string Attributswert) { - Log::Error("Lader::AttributiereKnoten " + _t("nicht implementiert")); + Log::Error("Lader::AttributiereKnoten nicht implementiert"); return 0; } //@nonl @@ -1186,6 +1234,14 @@ //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.11 2004/10/17 19:12:38 vrandezo +// IDs und Bezeichner getrennt - I18N vorbereitet +// ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. +// Aber Entwicklung ohne CVS wird mir zu doof. +// Vorsicht vor allem mit Helden und RKP. +// Tausend Kleinigkeiten geaendert. +// Neue Datensaetze in basis.xdi. +// // Revision 1.10 2004/04/04 21:06:41 vrandezo // Bug: wurde nach einem Knoten mit ID gesucht, und kam zuvor ein // Knoten ohne ID, fuehrte das zu einem Absturz Index: Log.cpp =================================================================== RCS file: /cvsroot/darkeyetool/det/src/Log.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Log.cpp 24 Oct 2003 13:26:02 -0000 1.3 +++ Log.cpp 17 Oct 2004 19:12:38 -0000 1.4 @@ -11,15 +11,62 @@ //@<< header >> //@+node:<< header >> //@+at -// The content of this file is subject to the license -// given in license.txt +// Copyright (c) 2002-2004, Zdenko Denny Vrandecic and +// contributors. +// All rights reserved. +// (The license follows closely the new +// BSD-OpenSource-License) +// +// Redistribution and use in source and binary forms, with +// or without +// modification, are permitted provided that the following +// conditions are met: +// Redistributions of source code must retain the above +// copyright notice, this list of conditions and the +// following disclaimer. +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the +// following disclaimer in the documentation +// and/or other materials provided with the distribution. +// Neither the name of the copyrightholder or one of the +// contributers to this source may be used to endorse or +// promote products derived from this software without +// specific prior written permission. // +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +// CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// If you use this source, please inform me, so I can keep +// track of how useful it really is. That would be very +// appreciated. +// +// The data distributed with this code is copyrighted by +// Fantasy Production, Erkrath, Germany, and *not* subject +// to the here given license. Distributing and using this +// data is granted by FanPro for the purpose of using +// computer driven tools for the role playing game "Das +// Schwarze Auge" / "The Dark Eye". Any other use is only +// allowed with prior written permission by FanPro. //@-at //@@c #ifdef MSVC #pragma warning(disable:4786 4503) #endif + //@-node:<< header >> //@nl @@ -68,6 +115,14 @@ //@<< Version history >> //@+node:<< Version History >> // $Log$ +// Revision 1.4 2004/10/17 19:12:38 vrandezo +// IDs und Bezeichner getrennt - I18N vorbereitet +// ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. +// Aber Entwicklung ohne CVS wird mir zu doof. +// Vorsicht vor allem mit Helden und RKP. +// Tausend Kleinigkeiten geaendert. +// Neue Datensaetze in basis.xdi. +// // Revision 1.3 2003/10/24 13:26:02 vrandezo // DEBUG_NEW raus // Index: detVer.h =================================================================== RCS file: /cvsroot/darkeyetool/det/src/detVer.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- detVer.h 4 Dec 2003 17:10:50 -0000 1.4 +++ detVer.h 17 Oct 2004 19:12:39 -0000 1.5 @@ -11,15 +11,62 @@ //@<< header >> //@+node:<< header >> //@+at -// The content of this file is subject to the license -// given in license.txt +// Copyright (c) 2002-2004, Zdenko Denny Vrandecic and +// contributors. +// All rights reserved. +// (The license follows closely the new +// BSD-OpenSource-License) +// +// Redistribution and use in source and binary forms, with +// or without +// modification, are permitted provided that the following +// conditions are met: +// Redistributions of source code must retain the above +// copyright notice, this list of conditions and the +// following disclaimer. +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the +// following disclaimer in the documentation +// and/or other materials provided with the distribution. +// Neither the name of the copyrightholder or one of the +// contributers to this source may be used to endorse or +// promote products derived from this software without +// specific prior written permission. // +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +// CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// If you use this source, please inform me, so I can keep +// track of how useful it really is. That would be very +// appreciated. +// +// The data distributed with this code is copyrighted by +// Fantasy Production, Erkrath, Germany, and *not* subject +// to the here given license. Distributing and using this +// data is granted by FanPro for the purpose of using +// computer driven tools for the role playing game "Das +// Schwarze Auge" / "The Dark Eye". Any other use is only +// allowed with prior written permission by FanPro. //@-at //@@c #ifdef MSVC #pragma warning(disable:4786 4503) #endif + //@-node:<< header >> //@nl @@ -45,6 +92,14 @@ //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.5 2004/10/17 19:12:39 vrandezo +// IDs und Bezeichner getrennt - I18N vorbereitet +// ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. +// Aber Entwicklung ohne CVS wird mir zu doof. +// Vorsicht vor allem mit Helden und RKP. +// Tausend Kleinigkeiten geaendert. +// Neue Datensaetze in basis.xdi. +// // Revision 1.4 2003/12/04 17:10:50 vrandezo // Trons BSD-Portierung // Index: Update.h =================================================================== RCS file: /cvsroot/darkeyetool/det/src/Update.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Update.h 28 Nov 2003 16:45:03 -0000 1.3 +++ Update.h 17 Oct 2004 19:12:39 -0000 1.4 @@ -12,15 +12,62 @@ //@<< header >> //@+node:<< header >> //@+at -// The content of this file is subject to the license -// given in license.txt +// Copyright (c) 2002-2004, Zdenko Denny Vrandecic and +// contributors. +// All rights reserved. +// (The license follows closely the new +// BSD-OpenSource-License) +// +// Redistribution and use in source and binary forms, with +// or without +// modification, are permitted provided that the following +// conditions are met: +// Redistributions of source code must retain the above +// copyright notice, this list of conditions and the +// following disclaimer. +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the +// following disclaimer in the documentation +// and/or other materials provided with the distribution. +// Neither the name of the copyrightholder or one of the +// contributers to this source may be used to endorse or +// promote products derived from this software without +// specific prior written permission. // +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +// CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// If you use this source, please inform me, so I can keep +// track of how useful it really is. That would be very +// appreciated. +// +// The data distributed with this code is copyrighted by +// Fantasy Production, Erkrath, Germany, and *not* subject +// to the here given license. Distributing and using this +// data is granted by FanPro for the purpose of using +// computer driven tools for the role playing game "Das +// Schwarze Auge" / "The Dark Eye". Any other use is only +// allowed with prior written permission by FanPro. //@-at //@@c #ifdef MSVC #pragma warning(disable:4786 4503) #endif + //@-node:<< header >> //@nl @@ -57,6 +104,14 @@ //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.4 2004/10/17 19:12:39 vrandezo +// IDs und Bezeichner getrennt - I18N vorbereitet +// ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. +// Aber Entwicklung ohne CVS wird mir zu doof. +// Vorsicht vor allem mit Helden und RKP. +// Tausend Kleinigkeiten geaendert. +// Neue Datensaetze in basis.xdi. +// // Revision 1.3 2003/11/28 16:45:03 vrandezo // Zeilenvorlauf am Dateiende (Warnung bei gcc) // Index: detconfig.cpp =================================================================== RCS file: /cvsroot/darkeyetool/det/src/detconfig.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- detconfig.cpp 7 Jan 2004 22:02:42 -0000 1.2 +++ detconfig.cpp 17 Oct 2004 19:12:39 -0000 1.3 @@ -12,15 +12,62 @@ //@<< header >> //@+node:<< header >> //@+at -// The content of this file is subject to the license -// given in license.txt +// Copyright (c) 2002-2004, Zdenko Denny Vrandecic and +// contributors. +// All rights reserved. +// (The license follows closely the new +// BSD-OpenSource-License) +// +// Redistribution and use in source and binary forms, with +// or without +// modification, are permitted provided that the following +// conditions are met: +// Redistributions of source code must retain the above +// copyright notice, this list of conditions and the +// following disclaimer. +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the +// following disclaimer in the documentation +// and/or other materials provided with the distribution. +// Neither the name of the copyrightholder or one of the +// contributers to this source may be used to endorse or +// promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +// CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// If you use this source, please inform me, so I can keep +// track of how useful it really is. That would be very +// appreciated. // +// The data distributed with this code is copyrighted by +// Fantasy Production, Erkrath, Germany, and *not* subject +// to the here given license. Distributing and using this +// data is granted by FanPro for the purpose of using +// computer driven tools for the role playing game "Das +// Schwarze Auge" / "The Dark Eye". Any other use is only +// allowed with prior written permission by FanPro. //@-at //@@c #ifdef MSVC #pragma warning(disable:4786 4503) #endif + //@-node:<< header >> //@nl @@ -28,7 +75,7 @@ //@+node:<< includes >> #include "detconfig.h" #include "Log.h" -#include "dsa/Texte.h" +//#include "dsa/Texte.h" #include "LaderXerces.h" //@nonl //@-node:<< includes >> @@ -67,13 +114,15 @@ void detConfig::Reset() { boolOptionen_ = std::map<std::string, bool>(); boolOptionen_["Warnung beim Re-Generieren"] = true; + stringOptionen_ = std::map<std::string, std::string>(); + stringOptionen_["Sprache"] = "Deutsch"; } // Reset bool detConfig::boolOption(const std::string& option) const { std::map<std::string, bool>::const_iterator i = boolOptionen_.find(option); if (i != boolOptionen_.end()) return i->second; - Log::Add(_t("Unbekannte Option") + ": " + _t(option)); + Log::Add("Unbekannte Option: " + option); return false; } // boolOption @@ -81,26 +130,55 @@ boolOptionen_[option] = b; } // boolOption +std::string detConfig::stringOption(const std::string& option) const { + std::map<std::string, std::string>::const_iterator i = stringOptionen_.find(option); + if (i != stringOptionen_.end()) + return i->second; + Log::Add("Unbekannte Option: " + option); + return ""; +} // stringOption + +void detConfig::stringOption(const std::string& option, const std::string& s) { + stringOptionen_[option] = s; +} // stringOption + int detConfig::Lese(const std::string& dateiname) { Reset(); LaderXerces* l = new LaderXerces(); l->Lade(dateiname); if (l->DocLeer()) { delete l; return 0; } - int z = l->AnzahlKnoten(l->Wurzel(), _t("boolOption")); + int z = l->AnzahlKnoten(l->Wurzel(), "boolOption"); if (z>0) { StringListe ids; - l->IDListe(l->Wurzel(), _t("boolOption"), &ids); + l->IDListe(l->Wurzel(), "boolOption", &ids); for (StringListe::iterator s = ids.begin(); s != ids.end(); ++s) { xercesc::DOMElement* node = 0; StringListe sl; sl.push_back("detconfig"); - sl.push_back(_t("boolOption")); - sl.push_back(_t("ID")); - sl.push_back(_t(*s)); + sl.push_back("boolOption"); + sl.push_back("ID"); + sl.push_back(*s); l->gehePfad(sl, &node); std::string w; l->LeseString(node, &w); - boolOptionen_[*s] = (w==_t("ja")); + boolOptionen_[*s] = (w=="ja"); + } + } + z = l->AnzahlKnoten(l->Wurzel(), "stringOption"); + if (z>0) { + StringListe ids; + l->IDListe(l->Wurzel(), "stringOption", &ids); + for (StringListe::iterator s = ids.begin(); s != ids.end(); ++s) { + xercesc::DOMElement* node = 0; + StringListe sl; + sl.push_back("detconfig"); + sl.push_back("stringOption"); + sl.push_back("ID"); + sl.push_back(*s); + l->gehePfad(sl, &node); + std::string w; + l->LeseString(node, &w); + stringOptionen_[*s] = w; } } delete l; @@ -111,15 +189,26 @@ LaderXerces* l = new LaderXerces(); l->NeuesDokument(dateiname, "detconfig"); for (std::map<std::string, bool>::const_iterator i = boolOptionen_.begin(); i != boolOptionen_.end(); ++i) { - l->NeuerKnoten(l->Wurzel(), _t("boolOption"), _t(i->first)); + l->NeuerKnoten(l->Wurzel(), "boolOption", i->first); xercesc::DOMElement* node = 0; StringListe sl; sl.push_back("detconfig"); - sl.push_back(_t("boolOption")); - sl.push_back(_t("ID")); - sl.push_back(_t(i->first)); + sl.push_back("boolOption"); + sl.push_back("ID"); + sl.push_back(i->first); l->gehePfad(sl, &node); - l->SchreibeString(node, (i->second ? _t("ja") : _t("nein"))); + l->SchreibeString(node, (i->second ? "ja" : "nein")); + } + for (std::map<std::string, std::string>::const_iterator i = stringOptionen_.begin(); i != stringOptionen_.end(); ++i) { + l->NeuerKnoten(l->Wurzel(), "stringOption", i->first); + xercesc::DOMElement* node = 0; + StringListe sl; + sl.push_back("detconfig"); + sl.push_back("stringOption"); + sl.push_back("ID"); + sl.push_back(i->first); + l->gehePfad(sl, &node); + l->SchreibeString(node, i->second); } l->Speicher(dateiname); return 0; @@ -130,6 +219,14 @@ //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.3 2004/10/17 19:12:39 vrandezo +// IDs und Bezeichner getrennt - I18N vorbereitet +// ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. +// Aber Entwicklung ohne CVS wird mir zu doof. +// Vorsicht vor allem mit Helden und RKP. +// Tausend Kleinigkeiten geaendert. +// Neue Datensaetze in basis.xdi. +// // Revision 1.2 2004/01/07 22:02:42 dertron // Pfad in #include enthielt \, in / geändert // Index: detconfig.h =================================================================== RCS file: /cvsroot/darkeyetool/det/src/detconfig.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- detconfig.h 6 Jan 2004 03:52:49 -0000 1.1 +++ detconfig.h 17 Oct 2004 19:12:39 -0000 1.2 @@ -13,15 +13,62 @@ //@<< header >> //@+node:<< header >> //@+at -// The content of this file is subject to the license -// given in license.txt +// Copyright (c) 2002-2004, Zdenko Denny Vrandecic and +// contributors. +// All rights reserved. +// (The license follows closely the new +// BSD-OpenSource-License) +// +// Redistribution and use in source and binary forms, with +// or without +// modification, are permitted provided that the following +// conditions are met: +// Redistributions of source code must retain the above +// copyright notice, this list of conditions and the +// following disclaimer. +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the +// following disclaimer in the documentation +// and/or other materials provided with the distribution. +// Neither the name of the copyrightholder or one of the +// contributers to this source may be used to endorse or +// promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +// CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// If you use this source, please inform me, so I can keep +// track of how useful it really is. That would be very +// appreciated. // +// The data distributed with this code is copyrighted by +// Fantasy Production, Erkrath, Germany, and *not* subject +// to the here given license. Distributing and using this +// data is granted by FanPro for the purpose of using +// computer driven tools for the role playing game "Das +// Schwarze Auge" / "The Dark Eye". Any other use is only +// allowed with prior written permission by FanPro. //@-at //@@c #ifdef MSVC #pragma warning(disable:4786 4503) #endif + //@-node:<< header >> //@nl //@<< includes >> @@ -48,10 +95,14 @@ bool boolOption(const std::string& option) const; void boolOption(const std::string& option, bool b); + std::string stringOption(const std::string& option) const; + void stringOption(const std::string& option, const std::string& s); int Lese(const std::string& datei); int Schreibe(const std::string& datei) const; + static std::string Sprache() { return detConfig::Config()->stringOption("Sprache"); } + private: detConfig(); virtual ~detConfig() {}; @@ -59,6 +110,7 @@ static detConfig* singleton_; std::map<std::string, bool> boolOptionen_; + std::map<std::string, std::string> stringOptionen_; }; // detConfig //@nonl //@-node:<< class detConfig >> @@ -69,6 +121,14 @@ //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.2 2004/10/17 19:12:39 vrandezo +// IDs und Bezeichner getrennt - I18N vorbereitet +// ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. +// Aber Entwicklung ohne CVS wird mir zu doof. +// Vorsicht vor allem mit Helden und RKP. +// Tausend Kleinigkeiten geaendert. +// Neue Datensaetze in basis.xdi. +// // Revision 1.1 2004/01/06 03:52:49 vrandezo // detConfig für Applikationskonfigurationsdaten hinzugefügt // Index: PersistenzManagerXerces.h =================================================================== RCS file: /cvsroot/darkeyetool/det/src/PersistenzManagerXerces.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- PersistenzManagerXerces.h 4 Apr 2004 17:29:04 -0000 1.6 +++ PersistenzManagerXerces.h 17 Oct 2004 19:12:39 -0000 1.7 @@ -12,15 +12,62 @@ //@<< header >> //@+node:<< header >> //@+at -// The content of this file is subject to the license -// given in license.txt +// Copyright (c) 2002-2004, Zdenko Denny Vrandecic and +// contributors. +// All rights reserved. +// (The license follows closely the new +// BSD-OpenSource-License) // +// Redistribution and use in source and binary forms, with +// or without +// modification, are permitted provided that the following +// conditions are met: +// Redistributions of source code must retain the above +// copyright notice, this list of conditions and the +// following disclaimer. +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the +// following disclaimer in the documentation +// and/or other materials provided with the distribution. +// Neither the name of the copyrightholder or one of the +// contributers to this source may be used to endorse or +// promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +// CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// If you use this source, please inform me, so I can keep +// track of how useful it really is. That would be very +// appreciated. +// +// The data distributed with this code is copyrighted by +// Fantasy Production, Erkrath, Germany, and *not* subject +// to the here given license. Distributing and using this +// data is granted by FanPro for the purpose of using +// computer driven tools for the role playing game "Das +// Schwarze Auge" / "The Dark Eye". Any other use is only +// allowed with prior written permission by FanPro. //@-at //@@c #ifdef MSVC #pragma warning(disable:4786 4503) #endif + //@-node:<< header >> //@nl @@ -61,6 +108,7 @@ virtual int LeseMehrfach (const std::string& tag, std::string& wert, int nr); virtual int LeseMehrfach (const std::string& tag, int& wert, int nr); virtual int Lese (StringListe& liste, const std::string& einzeltag, const std::string& tag, std::string id); + virtual int Lese (DDict& dict, const std::string& einzeltag, const std::string& tag, std::string id, const std::string& oberid = ""); virtual int Anzahl (const std::string& tag, const std::string& id = ""); virtual int SchliesseNachLesen(); @@ -73,6 +121,7 @@ virtual int SchreibeMehrfach (const std::string& tag, const std::string& wert); virtual int SchreibeMehrfach (const std::string& tag, int wert); virtual int Schreibe (const StringListe& liste, const std::string& einzeltag, const std::string& tag, const std::string& id=""); + virtual int Schreibe (const DDict& dict, const std::string& einzeltag, const std::string& tag, const std::string& id=""); virtual int SchliesseNachSchreiben(); virtual int SchreibePI (const std::string& target, const std::string& data = ""); @@ -106,6 +155,14 @@ //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.7 2004/10/17 19:12:39 vrandezo +// IDs und Bezeichner getrennt - I18N vorbereitet +// ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. +// Aber Entwicklung ohne CVS wird mir zu doof. +// Vorsicht vor allem mit Helden und RKP. +// Tausend Kleinigkeiten geaendert. +// Neue Datensaetze in basis.xdi. +// // Revision 1.6 2004/04/04 17:29:04 vrandezo // Re-Generierungs-bug gefixt // Index: Update.cpp =================================================================== RCS file: /cvsroot/darkeyetool/det/src/Update.cpp,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- Update.cpp 13 Jul 2004 18:59:52 -0000 1.7 +++ Update.cpp 17 Oct 2004 19:12:39 -0000 1.8 @@ -12,15 +12,62 @@ //@<< header >> //@+node:<< header >> //@+at -// The content of this file is subject to the license -// given in license.txt +// Copyright (c) 2002-2004, Zdenko Denny Vrandecic and +// contributors. +// All rights reserved. +// (The license follows closely the new +// BSD-OpenSource-License) +// +// Redistribution and use in source and binary forms, with +// or without +// modification, are permitted provided that the following +// conditions are met: +// Redistributions of source code must retain the above +// copyright notice, this list of conditions and the +// following disclaimer. +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the +// following disclaimer in the documentation +// and/or other materials provided with the distribution. +// Neither the name of the copyrightholder or one of the +// contributers to this source may be used to endorse or +// promote products derived from this software without +// specific prior written permission. // +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +// CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// If you use this source, please inform me, so I can keep +// track of how useful it really is. That would be very +// appreciated. +// +// The data distributed with this code is copyrighted by +// Fantasy Production, Erkrath, Germany, and *not* subject +// to the here given license. Distributing and using this +// data is granted by FanPro for the purpose of using +// computer driven tools for the role playing game "Das +// Schwarze Auge" / "The Dark Eye". Any other use is only +// allowed with prior written permission by FanPro. //@-at //@@c #ifdef MSVC #pragma warning(disable:4786 4503) #endif + //@-node:<< header >> //@nl @@ -138,6 +185,14 @@ //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.8 2004/10/17 19:12:39 vrandezo +// IDs und Bezeichner getrennt - I18N vorbereitet +// ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. +// Aber Entwicklung ohne CVS wird mir zu doof. +// Vorsicht vor allem mit Helden und RKP. +// Tausend Kleinigkeiten geaendert. +// Neue Datensaetze in basis.xdi. +// // Revision 1.7 2004/07/13 18:59:52 twel // nur ein Test // Index: LaderXerces.h =================================================================== RCS file: /cvsroot/darkeyetool/det/src/LaderXerces.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- LaderXerces.h 4 Apr 2004 17:29:04 -0000 1.8 +++ LaderXerces.h 17 Oct 2004 19:12:38 -0000 1.9 @@ -12,15 +12,62 @@ //@<< header >> //@+node:<< header >> //@+at -// The content of this file is subject to the license -// given in license.txt +// Copyright (c) 2002-2004, Zdenko Denny Vrandecic and +// contributors. +// All rights reserved. +// (The license follows closely the new +// BSD-OpenSource-License) +// +// Redistribution and use in source and binary forms, with +// or without +// modification, are permitted provided that the following +// conditions are met: +// Redistributions of source code must retain the above +// copyright notice, this list of conditions and the +// following disclaimer. +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the +// following disclaimer in the documentation +// and/or other materials provided with the distribution. +// Neither the name of the copyrightholder or one of the +// contributers to this source may be used to endorse or +// promote products derived from this software without +// specific prior written permission. // +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +// CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// If you use this source, please inform me, so I can keep +// track of how useful it really is. That would be very +// appreciated. +// +// The data distributed with this code is copyrighted by +// Fantasy Production, Erkrath, Germany, and *not* subject +// to the here given license. Distributing and using this +// data is granted by FanPro for the purpose of using +// computer driven tools for the role playing game "Das +// Schwarze Auge" / "The Dark Eye". Any other use is only +// allowed with prior written permission by FanPro. //@-at //@@c #ifdef MSVC #pragma warning(disable:4786 4503) #endif + //@-node:<< header >> //@nl @@ -133,6 +180,14 @@ //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.9 2004/10/17 19:12:38 vrandezo +// IDs und Bezeichner getrennt - I18N vorbereitet +// ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. +// Aber Entwicklung ohne CVS wird mir zu doof. +// Vorsicht vor allem mit Helden und RKP. +// Tausend Kleinigkeiten geaendert. +// Neue Datensaetze in basis.xdi. +// // Revision 1.8 2004/04/04 17:29:04 vrandezo // Re-Generierungs-bug gefixt // Index: Log.h =================================================================== RCS file: /cvsroot/darkeyetool/det/src/Log.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Log.h 28 Nov 2003 16:45:03 -0000 1.3 +++ Log.h 17 Oct 2004 19:12:39 -0000 1.4 @@ -22,15 +22,62 @@ //@<< header >> //@+node:<< header >> //@+at -// The content of this file is subject to the license -// given in license.txt +// Copyright (c) 2002-2004, Zdenko Denny Vrandecic and +// contributors. +// All rights reserved. +// (The license follows closely the new +// BSD-OpenSource-License) +// +// Redistribution and use in source and binary forms, with +// or without +// modification, are permitted provided that the following +// conditions are met: +// Redistributions of source code must retain the above +// copyright notice, this list of conditions and the +// following disclaimer. +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the +// following disclaimer in the documentation +// and/or other materials provided with the distribution. +// Neither the name of the copyrightholder or one of the +// contributers to this source may be used to endorse or +// promote products derived from this software without +// specific prior written permission. // +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +// CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// If you use this source, please inform me, so I can keep +// track of how useful it really is. That would be very +// appreciated. +// +// The data distributed with this code is copyrighted by +// Fantasy Production, Erkrath, Germany, and *not* subject +// to the here given license. Distributing and using this +// data is granted by FanPro for the purpose of using +// computer driven tools for the role playing game "Das +// Schwarze Auge" / "The Dark Eye". Any other use is only +// allowed with prior written permission by FanPro. //@-at //@@c #ifdef MSVC #pragma warning(disable:4786 4503) #endif + //@-node:<< header >> //@nl @@ -87,6 +134,14 @@ //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.4 2004/10/17 19:12:39 vrandezo +// IDs und Bezeichner getrennt - I18N vorbereitet +// ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. +// Aber Entwicklung ohne CVS wird mir zu doof. +// Vorsicht vor allem mit Helden und RKP. +// Tausend Kleinigkeiten geaendert. +// Neue Datensaetze in basis.xdi. +// // Revision 1.3 2003/11/28 16:45:03 vrandezo // Zeilenvorlauf am Dateiende (Warnung bei gcc) // Index: det.cpp =================================================================== RCS file: /cvsroot/darkeyetool/det/src/det.cpp,v retrieving revision 1.54 retrieving revision 1.55 diff -u -d -r1.54 -r1.55 --- det.cpp 25 Apr 2004 17:18:51 -0000 1.54 +++ det.cpp 17 Oct 2004 19:12:39 -0000 1.55 @@ -7,8 +7,8 @@ //@<< Version >> //@+node:<< Version >> -#define detVERSION "1.32" -#define detWEBSITE "darkeyetool.sourceforge.net" +#define detVERSION "1.33 Beta" +#define detWEBSITE "dsa4.teclador.com" #define detEMAIL "de...@no..." //@-node:<< Version >> //@nl @@ -28,15 +28,62 @@ //@<< header >> //@+node:<< header >> //@+at -// The content of this file is subject to the license -// given in license.txt +// Copyright (c) 2002-2004, Zdenko Denny Vrandecic and +// contributors. +// All rights reserved. +// (The license follows closely the new +// BSD-OpenSource-License) +// +// Redistribution and use in source and binary forms, with +// or without +// modification, are permitted provided that the following +// conditions are met: +// Redistributions of source code must retain the above +// copyright notice, this list of conditions and the +// following disclaimer. +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the +// following disclaimer in the documentation +// and/or other materials provided with the distribution. +// Neither the name of the copyrightholder or one of the +// contributers to this source may be used to endorse or +// promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +// CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// If you use this source, please inform me, so I can keep +// track of how useful it really is. That would be very +// appreciated. // +// The data distributed with this code is copyrighted by +// Fantasy Production, Erkrath, Germany, and *not* subject +// to the here given license. Distributing and using this +// data is granted by FanPro for the purpose of using +// computer driven tools for the role playing game "Das +// Schwarze Auge" / "The Dark Eye". Any other use is only +// allowed with prior written permission by FanPro. //@-at //@@c #ifdef MSVC #pragma warning(disable:4786 4503) #endif + //@-node:<< header >> //@nl @@ -185,6 +232,8 @@ void OnEinstellungenGPErfahren(wxCommandEvent& event); void OnEinstellungenGPVeteran(wxCommandEvent& event); void OnEinstellungenKonstanten(wxCommandEvent& event); + void OnEinstellungenSpracheDeutsch(wxCommandEvent& event); + void OnEinstellungenSpracheEnglisch(wxCommandEvent& event); void OnHilfeHilfe(wxCommandEvent& event); void OnHilfeLog(wxCommandEvent& event); void OnHilfeViellog(wxCommandEvent& event); @@ -199,32 +248,33 @@ //@ << Schreibe >> //@+node:<< Schreibe >> - template<class T> - void Schreibe(T t, DSA::PersistenzManager* pm) { - Put(_t("Speicher") + " " + t->Klassen() + " ... ", false); - Put(t->Schreibe(pm) ? _t("Fehler") : _t("OK")); - } // Schreibe + template<class T> + void Schreibe(T t, DSA::PersistenzManager* pm) { + Put(_t("Speicher") + " " + _t(t->Klassen()) + " ... ", false); + Put(t->Schreibe(pm) ? _t("Fehler") : _t("OK")); + } // Schreibe //@-node:<< Schreibe >> //@nl //@ << Lese >> //@+node:<< Lese >> - template<class T> - void Lese(T t, DSA::PersistenzManager* pm) { - Put(_t("Lade") + " " + t->Klassen() + " ... ", false); - Put(t->Lese(pm) ? _t("Fehler") : _t("OK")); - } // Lese + template<class T> + void Lese(T t, DSA::PersistenzManager* pm) { + Put(_t("Lade") + " " + _t(t->Klassen()) + " ... ", false); + Put(t->Lese(pm) ? _t("Fehler") : _t("OK")); + } // Lese //@-node:<< Lese >> //@nl //@ << Pruefe >> //@+node:<< Pruefe >> - template<class T> - int Pruefe(T t) { - Put(_t("Prüfe") + " " + strings::int2sStr(t->size()) + " " + t->Klassen() + " ... ", false); - int rv = t->Pruefe(); - Put(rv ? _t("Fehler") : _t("OK")); - return rv; - } // Pruefe + template<class T> + int Pruefe(T t) { + Put(_t("Prüfe") + " " + strings::int2sStr(t->size()) + " " + _t(t->Klassen()) + " ... ", false); + int rv = t->Pruefe(); + Put(rv ? _t("Fehler") : _t("OK")); + return rv; + } // Pruefe + //@-node:<< Pruefe >> //@nl @@ -286,6 +336,9 @@ det_Einstellungen_GP_Veteran, det_Einstellungen_GPSub, det_Einstellungen_Konstanten, + det_Einstellungen_Sprache_Deutsch, + det_Einstellungen_Sprache_Englisch, + det_Einstellungen_SpracheSub, det_Hilfe_Hilfe, det_Hilfe_Log, det_Hilfe_Viellog, @@ -326,64 +379,85 @@ // set the frame icon SetIcon(wxICON(DSA)); SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_BTNFACE)); // TODOPORT - - // create a menu bar // TODO noch nicht geTextet - wxMenu* menuDaten = new wxMenu("", wxMENU_TEAROFF); - menuDaten->Append(det_Daten_Laden, "Datenbasis neu &laden", "Lädt die Datenbasis für das Werkzeug"); - menuDaten->Append(det_Daten_Speichern, "Datenbasis &speichern\tCtrl-S", "Sichert alle Daten"); - menuDaten->Append(det_Daten_Waehlen, "&Verzeichnis für Datenbasis wählen", "Bestimmt das Standardverzeichnis für die Datenbasis"); - menuDaten->Append(det_Daten_Speichern_Unter, "Speichern Datenbasis &unter...", "Sichert alle Daten unter dem anzugebenden Dateinamen"); + + //@ << menu >> + //@+node:<< menu >> + //@<< Daten >> + //@+node:<< Daten >> + // create a menu bar // TODO noch nicht geTextet + wxMenu* menuDaten = new wxMenu("", wxMENU_TEAROFF); + menuDaten->Append(det_Daten_Laden, _t("MenuDatenLaden").c_str(), _t("MenuDatenLadenInfo").c_str()); + menuDaten->Append(det_Daten_Speichern, (_t("MenuDatenSpeichern") +"\tCtrl-S").c_str(), _t("MenuDatenSpeichernInfo").c_str()); + menuDaten->Append(det_Daten_Waehlen, _t("MenuDatenWaehlen").c_str(), _t("MenuDatenWaehlenInfo").c_str()); + menuDaten->Append(det_Daten_Speichern_Unter, _t("MenuDatenSpeichernUnter").c_str(), _t("MenuDatenSpeichernUnterInfo").c_str()); menuDaten->AppendSeparator(); - menuDaten->Append(det_Daten_Importieren, "&Importieren\tCtrl-I", "Fügt Daten in die offene Datenbasis ein"); - menuDaten->Append(det_Daten_Exportieren, "&Exportieren\tCtrl-E", "Schreibt ausgewählte Datensätze in eine Datei"); + menuDaten->Append(det_Daten_Importieren, _t("MenuDatenImportieren").c_str(), _t("MenuDatenImportierenInfo").c_str()); + menuDaten->Append(det_Daten_Exportieren, _t("MenuDatenExportieren").c_str(), _t("MenuDatenExportierenInfo").c_str()); menuDaten->AppendSeparator(); - menuDaten->Append(det_Daten_Pruefen, "&Prüfen", "Prüft die Daten auf Konsistenz"); -#ifdef _DEBUG - menuDaten->Append(det_Daten_Debug, "Testskript\tAlt-T"); -#endif + menuDaten->Append(det_Daten_Pruefen, _t("MenuDatenPruefen").c_str(), _t("MenuDatenPruefenInfo").c_str()); + #ifdef _DEBUG + menuDaten->Append(det_Daten_Debug, _t("MenuDatenDebug").c_str(), _t("MenuDatenDebugInfo").c_str()); + #endif menuDaten->AppendSeparator(); - menuDaten->Append(det_Da... [truncated message content] |
|
From: Denny V. <vra...@us...> - 2004-10-17 19:13:17
|
Update of /cvsroot/darkeyetool/det/project/msvc7 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15658/project/msvc7 Modified Files: det.vcproj Log Message: IDs und Bezeichner getrennt - I18N vorbereitet ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. Aber Entwicklung ohne CVS wird mir zu doof. Vorsicht vor allem mit Helden und RKP. Tausend Kleinigkeiten geaendert. Neue Datensaetze in basis.xdi. Index: det.vcproj =================================================================== RCS file: /cvsroot/darkeyetool/det/project/msvc7/det.vcproj,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- det.vcproj 10 Apr 2004 20:40:19 -0000 1.5 +++ det.vcproj 17 Oct 2004 19:12:38 -0000 1.6 @@ -1,1615 +1,1624 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="7.10" - Name="det" - SccProjectName="" - SccLocalPath=""> - <Platforms> - <Platform - Name="Win32"/> - </Platforms> [...3208 lines suppressed...] + RelativePath="..\..\src\gui\ZauberGUIwx.h"> + </File> + </Filter> + <File + RelativePath="..\..\data.xdi" + FileType="13"> + </File> + <File + RelativePath="..\..\license.txt"> + </File> + <File + RelativePath="..\..\liesmich.txt"> + </File> + <File + RelativePath="..\..\WICHTIG.txt"> + </File> + </Files> + <Globals> + </Globals> +</VisualStudioProject> |
|
From: Denny V. <vra...@us...> - 2004-10-17 19:13:16
|
Update of /cvsroot/darkeyetool/det/output In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15658/output Modified Files: vorlage.rtf Log Message: IDs und Bezeichner getrennt - I18N vorbereitet ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. Aber Entwicklung ohne CVS wird mir zu doof. Vorsicht vor allem mit Helden und RKP. Tausend Kleinigkeiten geaendert. Neue Datensaetze in basis.xdi. Index: vorlage.rtf =================================================================== RCS file: /cvsroot/darkeyetool/det/output/vorlage.rtf,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 Binary files /tmp/cvsmDrNXn and /tmp/cvs2BmkF5 differ |
Update of /cvsroot/darkeyetool/det/src/dsa In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15658/src/dsa Modified Files: AbgeleiteterWert.cpp AbgeleiteterWert.h Auswahl.h Charakteristikum.cpp Charakteristikum.h Eigenschaft.cpp Eigenschaft.h Hole.cpp Hole.h Kampftechnik.cpp Kampftechnik.h Kultur.cpp Kultur.h Menge.h Modifikator.cpp Modifikator.h NDSABasis.cpp NDSABasis.h NDSAUtil.cpp NDSAUtil.h PersistenzManager.cpp PersistenzManager.h Person.cpp Person.h PersonHandler.cpp PersonHandler.h PersonHandlerBetrachter.h PersonHandlerEditor.h PersonHandlerGenerator.cpp PersonHandlerGenerator.h PersonHandlerSteigern.h PersonenKomponente.cpp PersonenKomponente.h Profession.cpp Profession.h Rasse.cpp Rasse.h Regeln.cpp Regeln.h Sonderfertigkeit.cpp Sonderfertigkeit.h SpracheSchrift.cpp SpracheSchrift.h Talent.cpp Talent.h Texte.cpp Texte.h Voraussetzung.cpp Voraussetzung.h Wuerfel.cpp Wuerfel.h Zauber.cpp Zauber.h Log Message: IDs und Bezeichner getrennt - I18N vorbereitet ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. Aber Entwicklung ohne CVS wird mir zu doof. Vorsicht vor allem mit Helden und RKP. Tausend Kleinigkeiten geaendert. Neue Datensaetze in basis.xdi. Index: Profession.cpp =================================================================== RCS file: /cvsroot/darkeyetool/det/src/dsa/Profession.cpp,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- Profession.cpp 12 Apr 2004 23:15:50 -0000 1.16 +++ Profession.cpp 17 Oct 2004 19:12:40 -0000 1.17 @@ -11,18 +11,64 @@ //@<< header >> //@+node:<< header >> //@+at -// The content of this file is subject to the license -// given in license.txt +// Copyright (c) 2002-2004, Zdenko Denny Vrandecic and +// contributors. +// All rights reserved. +// (The license follows closely the new +// BSD-OpenSource-License) // +// Redistribution and use in source and binary forms, with +// or without +// modification, are permitted provided that the following +// conditions are met: +// Redistributions of source code must retain the above +// copyright notice, this list of conditions and the +// following disclaimer. +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the +// following disclaimer in the documentation +// and/or other materials provided with the distribution. +// Neither the name of the copyrightholder or one of the +// contributers to this source may be used to endorse or +// promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +// CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// If you use this source, please inform me, so I can keep +// track of how useful it really is. That would be very +// appreciated. +// +// The data distributed with this code is copyrighted by +// Fantasy Production, Erkrath, Germany, and *not* subject +// to the here given license. Distributing and using this +// data is granted by FanPro for the purpose of using +// computer driven tools for the role playing game "Das +// Schwarze Auge" / "The Dark Eye". Any other use is only +// allowed with prior written permission by FanPro. //@-at //@@c #ifdef MSVC #pragma warning(disable:4786 4503) #endif + //@-node:<< header >> //@nl - //@<< includes >> //@+node:<< includes >> #include "Profession.h" @@ -34,7 +80,6 @@ #include <algorithm> //@-node:<< includes >> //@nl - //@<< filename >> //@+node:<< filename >> #ifdef _DEBUG @@ -48,29 +93,29 @@ namespace DSA { - //@ << class Profession >> - //@+node:<< class Profession >> - //@<< Lese >> - //@+node:<< Lese >> + //@ @+others + //@+node:class Profession + //@+others + //@+node:Lese int Profession::Lese(PersistenzManager* pm, const std::string& id) { - std::string geleseneID = id; - int rv = pm->OeffneZumLesen(_t("Profession"), geleseneID); + std::string geleseneID = id; + int rv = pm->OeffneZumLesen("Profession", geleseneID); std::string mBez = ""; - if (pm->Existiert(_t("geschlechtsspezifischeBezeichnung"), _t("männlich"))) - rv += pm->Lese(_t("geschlechtsspezifischeBezeichnung"), _t("männlich"), mBez); + if (pm->Existiert("geschlechtsspezifischeBezeichnung", "männlich")) + rv += pm->Lese("geschlechtsspezifischeBezeichnung", "männlich", mBez); std::string wBez = ""; - if (pm->Existiert(_t("geschlechtsspezifischeBezeichnung"), _t("weiblich"))) - rv += pm->Lese(_t("geschlechtsspezifischeBezeichnung"), _t("weiblich"), wBez); + if (pm->Existiert(("geschlechtsspezifischeBezeichnung"), ("weiblich"))) + rv += pm->Lese(("geschlechtsspezifischeBezeichnung"), ("weiblich"), wBez); // bool zeitaufwendig = pm->Existiert(_t("zeitaufwendig")); // bool erstprofession = pm->Existiert(_t("Erstprofession")); int dauer = 0; - if (pm->Existiert(_t("Dauer"))) - rv += pm->Lese(_t("Dauer"), dauer); + if (pm->Existiert(("Dauer"))) + rv += pm->Lese(("Dauer"), dauer); StringListe zweitsprache; - rv += pm->Lese(zweitsprache, _t("Sprache"), _t("Sprachen"), _t("Zweitsprache")); + rv += pm->Lese(zweitsprache, ("Sprache"), ("Sprachen"), ("Zweitsprache")); StringListe bekannteSprueche; - rv += pm->Lese(bekannteSprueche, _t("Zauber"), _t("Sprüche"), _t("bekannte")); + rv += pm->Lese(bekannteSprueche, ("Zauber"), ("Sprüche"), ("bekannte")); //@+at @@ -83,10 +128,10 @@ //@-at //@@c - pm->SchliesseNachLesen(); - rv += PersonenKomponente::Lese(pm, _t("Profession"), geleseneID); + pm->SchliesseNachLesen(); + rv += PersonenKomponente::Lese(pm, ("Profession"), geleseneID); - if (!rv) { + if (!rv) { //@+at //@nonl // kritische Stelle @@ -115,21 +160,19 @@ zweitsprache_ = zweitsprache; bekannteSprueche_ = bekannteSprueche; Dauer(dauer); - } - return rv; // TODO + } + return rv; // TODO } // Lese - //@-node:<< Lese >> - //@nl - //@<< Schreibe >> - //@+node:<< Schreibe >> + //@-node:Lese + //@+node:Schreibe int Profession::Schreibe(PersistenzManager* pm) const { - int rv = PersonenKomponente::Schreibe(pm, _t("Profession")); - rv += pm->OeffneZumSchreiben(_t("Profession"), ID()); + int rv = PersonenKomponente::Schreibe(pm, ("Profession")); + rv += pm->OeffneZumSchreiben(("Profession"), ID()); if (mBez_!="") - rv += pm->Schreibe(_t("geschlechtsspezifischeBezeichnung"), _t("männlich"), mBez_); + rv += pm->Schreibe(("geschlechtsspezifischeBezeichnung"), ("männlich"), mBez_); if (wBez_!="") - rv += pm->Schreibe(_t("geschlechtsspezifischeBezeichnung"), _t("weiblich"), wBez_); + rv += pm->Schreibe(("geschlechtsspezifischeBezeichnung"), ("weiblich"), wBez_); // if (Zeitaufwendig()) { // rv += pm->OeffneZumSchreiben(_t("zeitaufwendig")); // rv += pm->SchliesseNachSchreiben(); @@ -139,9 +182,9 @@ // rv += pm->SchliesseNachSchreiben(); // } if (Dauer()!=0) - rv += pm->Schreibe(_t("Dauer"), Dauer()); - rv += pm->Schreibe(zweitsprache_, _t("Sprache"), _t("Sprachen"), _t("Zweitsprache")); - rv += pm->Schreibe(bekannteSprueche_, _t("Zauber"), _t("Sprüche"), _t("bekannte")); + rv += pm->Schreibe(("Dauer"), Dauer()); + rv += pm->Schreibe(zweitsprache_, ("Sprache"), ("Sprachen"), ("Zweitsprache")); + rv += pm->Schreibe(bekannteSprueche_, ("Zauber"), ("Sprüche"), ("bekannte")); //@+at //@nonl @@ -152,20 +195,17 @@ // _t("Kulturen")); //@-at //@@c - rv += pm->SchliesseNachSchreiben(); - return rv; // TODO + rv += pm->SchliesseNachSchreiben(); + return rv; // TODO } // Schreibe - //@-node:<< Schreibe >> - //@nl + //@-node:Schreibe + //@-others //@nonl - //@-node:<< class Profession >> - //@nl - - //@ << class ProfessionDefinition >> - //@+node:<< class ProfessionDefinition >> - //@<< Zeitaufwendig >> - //@+node:<< Zeitaufwendig >> + //@-node:class Profession + //@+node:class ProfessionDefinition + //@+others + //@+node:Zeitaufwendig void ProfessionDefinition::Zeitaufwendig(const bool z) { if (zeitaufwendig_==z) return; if (zeitaufwendig_) @@ -177,22 +217,16 @@ zeitaufwendig_ = z; } // Zeitaufwendig //@nonl - //@-node:<< Zeitaufwendig >> - //@nl - - //@<< Erstprofession >> - //@+node:<< Erstprofession >> + //@-node:Zeitaufwendig + //@+node:Erstprofession void ProfessionDefinition::Erstprofession(const bool e) { if (erstprofession_==e) return; if (!erstprofession_) Zeitaufwendig(false); erstprofession_ = e; } // Erstprofession //@nonl - //@-node:<< Erstprofession >> - //@nl - - //@<< Text >> - //@+node:<< Text >> + //@-node:Erstprofession + //@+node:Text std::string ProfessionDefinition::Text(const std::string& trennzeichenDerEinzelne, const std::string& zwischenEinzelneTitelUndSachen, const std::string& trennzeichenImEinzelnen, const std::string& wennEinzelnesLeer) const { std::string s = kategorie_ + trennzeichenDerEinzelne; s += PersonenKomponenteDefinition::Text(trennzeichenDerEinzelne, zwischenEinzelneTitelUndSachen, trennzeichenImEinzelnen, wennEinzelnesLeer); @@ -200,11 +234,8 @@ return s; } // Text //@nonl - //@-node:<< Text >> - //@nl - - //@<< MoeglicheKulturen >> - //@+node:<< MoeglicheKulturen >> + //@-node:Text + //@+node:MoeglicheKulturen StringListe ProfessionDefinition::MoeglicheKulturen() const { StringListe sl; for (KulturDefinitionen::iterator ki = kulturen()->begin(); ki != kulturen()->end(); ++ki) @@ -213,30 +244,27 @@ return sl; } // MoeglicheKulturen //@nonl - //@-node:<< MoeglicheKulturen >> - //@nl - - //@<< Lese >> - //@+node:<< Lese >> + //@-node:MoeglicheKulturen + //@+node:Lese int ProfessionDefinition::Lese(PersistenzManager* pm, const std::string& id) { - std::string geleseneID = id; - int rv = pm->OeffneZumLesen(_t("Profession"), geleseneID); + std::string geleseneID = id; + int rv = pm->OeffneZumLesen(("Profession"), geleseneID); std::string mBez = geleseneID; - if (pm->Existiert(_t("Bezeichnung"), _t("männlich"))) - rv += pm->Lese(_t("Bezeichnung"), _t("männlich"), mBez); + if (pm->Existiert(("Bezeichnung"), ("männlich"))) + rv += pm->Lese(("Bezeichnung"), ("männlich"), mBez); std::string wBez = geleseneID; - if (pm->Existiert(_t("Bezeichnung"), _t("weiblich"))) - rv += pm->Lese(_t("Bezeichnung"), _t("weiblich"), wBez); - bool zeitaufwendig = pm->Existiert(_t("zeitaufwendig")); - bool erstprofession = pm->Existiert(_t("Erstprofession")); + if (pm->Existiert(("Bezeichnung"), ("weiblich"))) + rv += pm->Lese(("Bezeichnung"), ("weiblich"), wBez); + bool zeitaufwendig = pm->Existiert(("zeitaufwendig")); + bool erstprofession = pm->Existiert(("Erstprofession")); int dauer = 0; - if (pm->Existiert(_t("Dauer"))) - rv += pm->Lese(_t("Dauer"), dauer); + if (pm->Existiert(("Dauer"))) + rv += pm->Lese(("Dauer"), dauer); StringListe zweitsprache; - rv += pm->Lese(zweitsprache, _t("Sprache"), _t("Sprachen"), _t("Zweitsprache")); + rv += pm->Lese(zweitsprache, ("Sprache"), ("Sprachen"), ("Zweitsprache")); StringListe bekannteSprueche; - rv += pm->Lese(bekannteSprueche, _t("Zauber"), _t("Sprüche"), _t("bekannte")); + rv += pm->Lese(bekannteSprueche, ("Zauber"), ("Sprüche"), ("bekannte")); //@+at @@ -249,10 +277,10 @@ //@-at //@@c - pm->SchliesseNachLesen(); - rv += PersonenKomponenteDefinition::Lese(pm, geleseneID); + pm->SchliesseNachLesen(); + rv += PersonenKomponenteDefinition::Lese(pm, geleseneID); - if (!rv) { + if (!rv) { //@+at //@nonl // kritische Stelle @@ -281,34 +309,31 @@ Dauer(dauer); zweitsprache_ = zweitsprache; bekannteSprueche_ = bekannteSprueche; - } - return rv; // TODO + } + return rv; // TODO } // Lese //@nonl - //@-node:<< Lese >> - //@nl - - //@<< Schreibe >> - //@+node:<< Schreibe >> + //@-node:Lese + //@+node:Schreibe int ProfessionDefinition::Schreibe(PersistenzManager* pm) const { - int rv = PersonenKomponenteDefinition::Schreibe(pm); - rv += pm->OeffneZumSchreiben(Klasse(), ID()); + int rv = PersonenKomponenteDefinition::Schreibe(pm); + rv += pm->OeffneZumSchreiben(Klasse(), ID()); if (mBez_!="") - rv += pm->Schreibe(_t("Bezeichnung"), _t("männlich"), mBez_); + rv += pm->Schreibe(("Bezeichnung"), ("männlich"), mBez_); if (wBez_!="") - rv += pm->Schreibe(_t("Bezeichnung"), _t("weiblich"), wBez_); + rv += pm->Schreibe(("Bezeichnung"), ("weiblich"), wBez_); if (Zeitaufwendig()) { - rv += pm->OeffneZumSchreiben(_t("zeitaufwendig")); + rv += pm->OeffneZumSchreiben(("zeitaufwendig")); rv += pm->SchliesseNachSchreiben(); } if (Erstprofession()) { - rv += pm->OeffneZumSchreiben(_t("Erstprofession")); + rv += pm->OeffneZumSchreiben(("Erstprofession")); rv += pm->SchliesseNachSchreiben(); } if (Dauer()!=0) - rv += pm->Schreibe(_t("Dauer"), Dauer()); - rv += pm->Schreibe(zweitsprache_, _t("Sprache"), _t("Sprachen"), _t("Zweitsprache")); - rv += pm->Schreibe(bekannteSprueche_, _t("Zauber"), _t("Sprüche"), _t("bekannte")); + rv += pm->Schreibe(("Dauer"), Dauer()); + rv += pm->Schreibe(zweitsprache_, ("Sprache"), ("Sprachen"), ("Zweitsprache")); + rv += pm->Schreibe(bekannteSprueche_, ("Zauber"), ("Sprüche"), ("bekannte")); //@+at //@nonl @@ -319,24 +344,32 @@ // _t("Kulturen")); //@-at //@@c - rv += pm->SchliesseNachSchreiben(); - return rv; // TODO + rv += pm->SchliesseNachSchreiben(); + return rv; // TODO } // Schreibe //@nonl - //@-node:<< Schreibe >> - //@nl - //@nonl - //@-node:<< class ProfessionDefinition >> - //@nl + //@-node:Schreibe + //@-others + + //@-node:class ProfessionDefinition + //@-others - ProfessionDefinitionen* professionen() - { static ProfessionDefinitionen* professionen_ = new ProfessionDefinitionen(); return professionen_; } + ProfessionDefinitionen* professionen() + { static ProfessionDefinitionen* professionen_ = new ProfessionDefinitionen(); return professionen_; } } //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.17 2004/10/17 19:12:40 vrandezo +// IDs und Bezeichner getrennt - I18N vorbereitet +// ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. +// Aber Entwicklung ohne CVS wird mir zu doof. +// Vorsicht vor allem mit Helden und RKP. +// Tausend Kleinigkeiten geaendert. +// Neue Datensaetze in basis.xdi. +// // Revision 1.16 2004/04/12 23:15:50 vrandezo // Professionen bieten bekannte Zaubersprueche mit // @@ -454,5 +487,6 @@ //@nonl //@-node:<< Version History >> //@nl + //@-node:@file Profession.cpp //@-leo Index: PersonHandlerGenerator.cpp =================================================================== RCS file: /cvsroot/darkeyetool/det/src/dsa/PersonHandlerGenerator.cpp,v retrieving revision 1.55 retrieving revision 1.56 diff -u -d -r1.55 -r1.56 --- PersonHandlerGenerator.cpp 24 Jun 2004 00:27:09 -0000 1.55 +++ PersonHandlerGenerator.cpp 17 Oct 2004 19:12:39 -0000 1.56 @@ -12,15 +12,62 @@ //@<< header >> //@+node:<< header >> //@+at -// The content of this file is subject to the license -// given in license.txt +// Copyright (c) 2002-2004, Zdenko Denny Vrandecic and +// contributors. +// All rights reserved. +// (The license follows closely the new +// BSD-OpenSource-License) +// [...2562 lines suppressed...] + //@-others + //@-node:class PersonHandlerGenerator + //@-others } //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.56 2004/10/17 19:12:39 vrandezo +// IDs und Bezeichner getrennt - I18N vorbereitet +// ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. +// Aber Entwicklung ohne CVS wird mir zu doof. +// Vorsicht vor allem mit Helden und RKP. +// Tausend Kleinigkeiten geaendert. +// Neue Datensaetze in basis.xdi. +// // Revision 1.55 2004/06/24 00:27:09 twel // Akademische Ausbildung (Gelehrter) implementiert // Index: Charakteristikum.h =================================================================== RCS file: /cvsroot/darkeyetool/det/src/dsa/Charakteristikum.h,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- Charakteristikum.h 5 Jan 2004 02:45:29 -0000 1.14 +++ Charakteristikum.h 17 Oct 2004 19:12:39 -0000 1.15 @@ -11,15 +11,62 @@ //@<< header >> //@+node:<< header >> //@+at -// The content of this file is subject to the license -// given in license.txt +// Copyright (c) 2002-2004, Zdenko Denny Vrandecic and +// contributors. +// All rights reserved. +// (The license follows closely the new +// BSD-OpenSource-License) +// +// Redistribution and use in source and binary forms, with +// or without +// modification, are permitted provided that the following +// conditions are met: +// Redistributions of source code must retain the above +// copyright notice, this list of conditions and the +// following disclaimer. +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the +// following disclaimer in the documentation +// and/or other materials provided with the distribution. +// Neither the name of the copyrightholder or one of the +// contributers to this source may be used to endorse or +// promote products derived from this software without +// specific prior written permission. // +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +// CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// If you use this source, please inform me, so I can keep +// track of how useful it really is. That would be very +// appreciated. +// +// The data distributed with this code is copyrighted by +// Fantasy Production, Erkrath, Germany, and *not* subject +// to the here given license. Distributing and using this +// data is granted by FanPro for the purpose of using +// computer driven tools for the role playing game "Das +// Schwarze Auge" / "The Dark Eye". Any other use is only +// allowed with prior written permission by FanPro. //@-at //@@c #ifdef MSVC #pragma warning(disable:4786 4503) #endif + //@-node:<< header >> //@nl @@ -29,9 +76,10 @@ //@<< includes >> //@+node:<< includes >> #include "Menge.h" -#include "Texte.h" #include "Voraussetzung.h" #include "Auswahl.h" + +#include "Definition.h" //@nonl //@-node:<< includes >> //@nl @@ -39,26 +87,35 @@ namespace DSA { class PersistenzManager; class Person; - - //@ << class CharakteristikumDefinition >> - //@+node:<< class CharakteristikumDefinition >> - class CharakteristikumDefinition { + + //@ @+others + //@+node:class CharakteristikumDefinition + class CharakteristikumDefinition : public Definition { public: //@ << Administrativa >> //@+node:<< Administrativa >> - CharakteristikumDefinition(const std::string& id = "") : id_(id), gp_(0), gebunden_(false), unsichtbar_(false), hatStufen_(false), stufe_(0), gpPro2Punkte_(false), schlechteEigenschaft_(false), brauchtSpezifizierung_(false) {} - static std::string Klasse() { return _t("Charakteristikum"); } - static std::string Klassen() { return _t("Charakteristika"); } - - void ID(const std::string& id) { id_ = id; } - std::string ID() const { return id_; } - void Beschreibung(const std::string& beschreibung) { beschreibung_ = beschreibung; } - std::string Beschreibung() const { return beschreibung_; } + CharakteristikumDefinition(const std::string& id = "") : + Definition(id), + gp_(0), + gebunden_(false), + unsichtbar_(false), + hatStufen_(false), + stufe_(0), + gpPro2Punkte_(false), + schlechteEigenschaft_(false), + brauchtSpezifizierung_(false), + generiert_(false) {} + + static std::string Klasse() { return ("Charakteristikum"); } + virtual std::string VirtuelleKlasse() const { return Klasse(); } + static std::string Klassen() { return ("Charakteristika"); } std::string Text(const Person& p) const; - //@nonl //@-node:<< Administrativa >> //@nl + + std::string Bezeichnung(const std::string& sprache = DSA::Lang()) const; + using Definition::Bezeichnung; void GP(int gp) { gp_ = gp; } int GP() const { return gp_; } @@ -79,9 +136,31 @@ void BrauchtSpezifizierung(const bool b) { brauchtSpezifizierung_ = b; } bool Hinzufuegbar(const Person&) const; - - bool Vorteil() const { return gp_>0; } - bool Nachteil() const { return gp_<0; } + + //@ << Semantische Abfragen >> + //@+node:<< Semantische Abfragen >> + bool Vorteil() const { return gp_>0; } + bool Nachteil() const { return gp_<0; } + + bool IstGeneriert() const { return generiert_; } + void IstGeneriert(bool g) { generiert_ = g; } + + bool IstHerausragendeEigenschaft() const; + Eigenschaftsart HerausragendeEigenschaft() const; + bool IstMiserableEigenschaft() const; + Eigenschaftsart MiserableEigenschaft() const; + + bool IstBegabungTalent() const; + std::string BegabungTalent() const; + bool IstUnfaehigkeitTalent() const; + std::string UnfaehigkeitTalent() const; + bool IstBegabungTalentgruppe() const; + Talentgruppe BegabungTalentgruppe() const; + bool IstUnfaehigkeitTalentgruppe() const; + Talentgruppe UnfaehigkeitTalentgruppe() const; + bool IstUnfaehigkeitSprachen() const; + //@-node:<< Semantische Abfragen >> + //@nl std::string BasiertAuf() const { return basiertAuf_; } void BasiertAuf(const std::string& b) { basiertAuf_ = b; } @@ -92,8 +171,7 @@ //@ << operator== >> //@+node:<< operator== >> bool operator==(const CharakteristikumDefinition& other) const { - return ((id_==other.id_) - && (beschreibung_==other.beschreibung_) + return ((Definition::operator==(other)) && (hatStufen_==other.hatStufen_) && (stufe_==other.stufe_) && (basiertAuf_==other.basiertAuf_) @@ -113,7 +191,7 @@ //@+node:<< Lese/Schreibe >> int Lese(PersistenzManager* pm, const std::string& id = ""); int Schreibe(PersistenzManager* pm) const; - int Pruefe() const; + int Pruefe(); static int IDListe(PersistenzManager* pm, StringListe* liste); //@nonl //@-node:<< Lese/Schreibe >> @@ -124,10 +202,8 @@ private: //@ << private >> //@+node:<< private >> - std::string id_; int gp_; std::string basiertAuf_; - std::string beschreibung_; bool gebunden_; bool unsichtbar_; int stufe_; @@ -135,24 +211,13 @@ bool schlechteEigenschaft_; bool gpPro2Punkte_; bool brauchtSpezifizierung_; + bool generiert_; //@nonl //@-node:<< private >> //@nl }; // CharakteristikumDefinition - //@nonl - //@-node:<< class CharakteristikumDefinition >> - //@nl - - class CharakteristikumDefinitionen : public Menge<CharakteristikumDefinition> { - }; // CharakteristikumDefinitionen - - CharakteristikumDefinitionen* charakteristika(); - - CharakteristikumDefinitionen* generierteCharakteristika(); - void GeneriereCharakteristika(); - - //@ << class Charakteristikum >> - //@+node:<< class Charakteristikum >> + //@-node:class CharakteristikumDefinition + //@+node:class Charakteristikum class Charakteristikum { public: //@ << Administrativa >> @@ -160,12 +225,11 @@ Charakteristikum(const std::string& id = "") : id_(id), stufe_(0), spezifizierung_("") {} Charakteristikum(const CharakteristikumDefinition& def) : id_(def.ID()), stufe_((def.HatStufen()?1:0)) {} Charakteristikum(const CharakteristikumDefinition* const def) : id_(def->ID()), stufe_((def->HatStufen()?1:0)) {} - static std::string Klasse() { return _t("Charakteristikum"); } - static std::string Klassen() { return _t("Charakteristika"); } + static std::string Klasse() { return ("Charakteristikum"); } + static std::string Klassen() { return ("Charakteristika"); } void ID(const std::string& id) { id_ = id; } std::string ID() const { return id_; } - //@nonl //@-node:<< Administrativa >> //@nl @@ -195,23 +259,20 @@ //@+node:<< Lese/Schreibe >> int Lese(PersistenzManager* pm, const std::string& id = ""); int Schreibe(PersistenzManager* pm) const; - int Pruefe() const; + int Pruefe(); static int IDListe(PersistenzManager* pm, StringListe* liste); //@nonl //@-node:<< Lese/Schreibe >> //@nl private: - std::string id_; + std::string id_; int stufe_; std::string spezifizierung_; }; // Charakteristikum //@nonl - //@-node:<< class Charakteristikum >> - //@nl - - //@ << class Charakteristika >> - //@+node:<< class Charakteristika >> + //@-node:class Charakteristikum + //@+node:class Charakteristika class Charakteristika : public Menge<Charakteristikum> { public: bool Verfuegt(const std::string& id) const; @@ -219,11 +280,17 @@ // bool FuegeEin(Modifikator modifikator); }; // Charakteristika //@nonl - //@-node:<< class Charakteristika >> - //@nl + //@-node:class Charakteristika + //@-others + + class CharakteristikumDefinitionen : public Menge<CharakteristikumDefinition> {}; + + CharakteristikumDefinitionen* charakteristika(); + + CharakteristikumDefinitionen* generierteCharakteristika(); + void GeneriereCharakteristika(); - class CharakteristikaAuswahl : public AuswahlMenge<Charakteristikum> { - }; // CharakteristikaAuswahl + class CharakteristikaAuswahl : public AuswahlMenge<Charakteristikum> {}; } @@ -232,6 +299,14 @@ //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.15 2004/10/17 19:12:39 vrandezo +// IDs und Bezeichner getrennt - I18N vorbereitet +// ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. +// Aber Entwicklung ohne CVS wird mir zu doof. +// Vorsicht vor allem mit Helden und RKP. +// Tausend Kleinigkeiten geaendert. +// Neue Datensaetze in basis.xdi. +// // Revision 1.14 2004/01/05 02:45:29 vrandezo // Charakteristika bei RPK-Definition von Mengen auf Auswahlmengen umgestellt // Index: Regeln.h =================================================================== RCS file: /cvsroot/darkeyetool/det/src/dsa/Regeln.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- Regeln.h 13 Apr 2004 21:45:45 -0000 1.8 +++ Regeln.h 17 Oct 2004 19:12:40 -0000 1.9 @@ -11,15 +11,62 @@ //@<< header >> //@+node:<< header >> //@+at -// The content of this file is subject to the license -// given in license.txt +// Copyright (c) 2002-2004, Zdenko Denny Vrandecic and +// contributors. +// All rights reserved. +// (The license follows closely the new +// BSD-OpenSource-License) // +// Redistribution and use in source and binary forms, with +// or without +// modification, are permitted provided that the following +// conditions are met: +// Redistributions of source code must retain the above +// copyright notice, this list of conditions and the +// following disclaimer. +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the +// following disclaimer in the documentation +// and/or other materials provided with the distribution. +// Neither the name of the copyrightholder or one of the +// contributers to this source may be used to endorse or +// promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +// CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// If you use this source, please inform me, so I can keep +// track of how useful it really is. That would be very +// appreciated. +// +// The data distributed with this code is copyrighted by +// Fantasy Production, Erkrath, Germany, and *not* subject +// to the here given license. Distributing and using this +// data is granted by FanPro for the purpose of using +// computer driven tools for the role playing game "Das +// Schwarze Auge" / "The Dark Eye". Any other use is only +// allowed with prior written permission by FanPro. //@-at //@@c #ifdef MSVC #pragma warning(disable:4786 4503) #endif + //@-node:<< header >> //@nl @@ -44,8 +91,8 @@ public: Regeln() { Default(); } - static std::string Klassen() { return _t("Regeloptionen"); } - static std::string Klasse() { return _t("Regeloption"); } + static std::string Klassen() { return "Regeloptionen"; } + static std::string Klasse() { return "Regeloption"; } void Regel(const std::string& id, int wert) { regel_[id] = wert; } int Regel(const std::string& id) const; @@ -67,7 +114,7 @@ int Lese(PersistenzManager* pm, const std::string& id = ""); int Schreibe(PersistenzManager* pm) const; - int Pruefe() const; + int Pruefe(); static int IDListe(PersistenzManager* pm, StringListe* liste); private: @@ -101,6 +148,14 @@ //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.9 2004/10/17 19:12:40 vrandezo +// IDs und Bezeichner getrennt - I18N vorbereitet +// ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. +// Aber Entwicklung ohne CVS wird mir zu doof. +// Vorsicht vor allem mit Helden und RKP. +// Tausend Kleinigkeiten geaendert. +// Neue Datensaetze in basis.xdi. +// // Revision 1.8 2004/04/13 21:45:45 vrandezo // Akademische Ausbildung (Magier) implementiert // Aufräumarbeiten (besser in Leo integriert) Index: Eigenschaft.cpp =================================================================== RCS file: /cvsroot/darkeyetool/det/src/dsa/Eigenschaft.cpp,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- Eigenschaft.cpp 13 Apr 2004 21:45:45 -0000 1.9 +++ Eigenschaft.cpp 17 Oct 2004 19:12:39 -0000 1.10 @@ -11,15 +11,62 @@ //@<< header >> //@+node:<< header >> //@+at -// The content of this file is subject to the license -// given in license.txt +// Copyright (c) 2002-2004, Zdenko Denny Vrandecic and +// contributors. +// All rights reserved. +// (The license follows closely the new +// BSD-OpenSource-License) +// +// Redistribution and use in source and binary forms, with +// or without +// modification, are permitted provided that the following +// conditions are met: +// Redistributions of source code must retain the above +// copyright notice, this list of conditions and the +// following disclaimer. +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the +// following disclaimer in the documentation +// and/or other materials provided with the distribution. +// Neither the name of the copyrightholder or one of the +// contributers to this source may be used to endorse or +// promote products derived from this software without +// specific prior written permission. // +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +// CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// If you use this source, please inform me, so I can keep +// track of how useful it really is. That would be very +// appreciated. +// +// The data distributed with this code is copyrighted by +// Fantasy Production, Erkrath, Germany, and *not* subject +// to the here given license. Distributing and using this +// data is granted by FanPro for the purpose of using +// computer driven tools for the role playing game "Das +// Schwarze Auge" / "The Dark Eye". Any other use is only +// allowed with prior written permission by FanPro. //@-at //@@c #ifdef MSVC #pragma warning(disable:4786 4503) #endif + //@-node:<< header >> //@nl //@<< includes >> @@ -58,27 +105,33 @@ Eigenschaft* ei = const_cast<Eigenschaft*>(this); // Herausragende Eigenschaft - std::string s = _t("Herausragende Eigenschaft"); - if (person_->charakteristika_.Existiert(s + " " + ID())) { - if (!modifikatoren_.Existiert(s)) - ei->modifikatoren_.FuegeEin(Modifikator(1, s)); - ei->modifikatoren_.Zeige(s)->Wert(person_->charakteristika_.Zeige(s + " "+ ID())->Stufe()); - } else - if (modifikatoren_.Existiert(s)) - ei->modifikatoren_.Loesche(s); + bool hatHerausragendeEigenschaft = false; + forallconst (Charakteristika, ch, person_->charakteristika_) + if (ch->second.Definition()->IstHerausragendeEigenschaft()) + if (ch->second.Definition()->HerausragendeEigenschaft() == Art()) { + if (!modifikatoren_.Existiert(ch->second.ID())) + ei->modifikatoren_.FuegeEin(Modifikator(1, ch->second.ID())); + ei->modifikatoren_.Zeige(ch->second.ID())->Wert(ch->second.Stufe()); + hatHerausragendeEigenschaft = true; + } + if (!hatHerausragendeEigenschaft) + ei->modifikatoren_.Loesche(strings::MacheID("CharakteristikumHerausragendeEigenschaft", ID())); // Miserable Eigenschaft - s = _t("Miserable Eigenschaft"); - if (person_->charakteristika_.Existiert(s + " " + ID())) { - if (!modifikatoren_.Existiert(s)) - ei->modifikatoren_.FuegeEin(Modifikator(-1, s)); - } else - if (modifikatoren_.Existiert(s)) - ei->modifikatoren_.Loesche(s); + bool hatMiserableEigenschaft = false; + forallconst (Charakteristika, ch, person_->charakteristika_) + if (ch->second.Definition()->IstMiserableEigenschaft()) + if (ch->second.Definition()->MiserableEigenschaft() == Art()) { + if (!modifikatoren_.Existiert(ch->second.ID())) + ei->modifikatoren_.FuegeEin(Modifikator(1, ch->second.ID())); + ei->modifikatoren_.Zeige(ch->second.ID())->Wert(ch->second.Stufe()); + hatMiserableEigenschaft = true; + } + if (!hatMiserableEigenschaft) + ei->modifikatoren_.Loesche(strings::MacheID("CharakteristikumMiserableEigenschaft", ID())); } return modifikatoren_.Verrechne(wert_); } // Wert - //@nonl //@-node:Wert //@+node:Text std::string Eigenschaft::Text() { @@ -89,11 +142,11 @@ //@+node:Lese int Eigenschaft::Lese(PersistenzManager* pm, const std::string& id) { std::string geleseneID = id; - int rv = pm->OeffneZumLesen(_t("Eigenschaft"), geleseneID); + int rv = pm->OeffneZumLesen(("Eigenschaft"), geleseneID); int wert; - rv += pm->Lese(_t("Basiswert"), wert); + rv += pm->Lese(("Basiswert"), wert); int max; - rv += pm->Lese(_t("Maximalwert"), max); + rv += pm->Lese(("Maximalwert"), max); Modifikatoren modifikatoren; rv += modifikatoren.Lese(pm); // TODO kein zweiter Parameter? if (!rv) { @@ -110,10 +163,10 @@ //@-node:Lese //@+node:Schreibe int Eigenschaft::Schreibe(PersistenzManager* pm) const { - int rv = pm->OeffneZumSchreiben(_t("Eigenschaft"), ID()); - rv += pm->Schreibe(_t("Wert"), Wert()); - rv += pm->Schreibe(_t("Basiswert"), Basiswert()); - rv += pm->Schreibe(_t("Maximalwert"), Maximalwert()); + int rv = pm->OeffneZumSchreiben(("Eigenschaft"), ID()); + rv += pm->Schreibe(("Wert"), Wert()); + rv += pm->Schreibe(("Basiswert"), Basiswert()); + rv += pm->Schreibe(("Maximalwert"), Maximalwert()); rv += modifikatoren_.Schreibe(pm); @@ -124,13 +177,13 @@ //@nonl //@-node:Schreibe //@+node:Pruefe - int Eigenschaft::Pruefe() const { + int Eigenschaft::Pruefe() { int rv = 0; if (Wert()>Maximalwert()) { - Log::Info(_t("Wert größer als Maximalwert")); + Log::Info(("Wert größer als Maximalwert")); ++rv; } - if (rv!=0) Log::Info(_t("in") + " " + ID()); + if (rv!=0) Log::Info("in " + ID()); return rv; } // Pruefe //@nonl @@ -152,6 +205,14 @@ //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.10 2004/10/17 19:12:39 vrandezo +// IDs und Bezeichner getrennt - I18N vorbereitet +// ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. +// Aber Entwicklung ohne CVS wird mir zu doof. +// Vorsicht vor allem mit Helden und RKP. +// Tausend Kleinigkeiten geaendert. +// Neue Datensaetze in basis.xdi. +// // Revision 1.9 2004/04/13 21:45:45 vrandezo // Akademische Ausbildung (Magier) implementiert // Aufräumarbeiten (besser in Leo integriert) Index: Eigenschaft.h =================================================================== RCS file: /cvsroot/darkeyetool/det/src/dsa/Eigenschaft.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- Eigenschaft.h 13 Apr 2004 21:45:45 -0000 1.8 +++ Eigenschaft.h 17 Oct 2004 19:12:39 -0000 1.9 @@ -11,15 +11,62 @@ //@<< header >> //@+node:<< header >> //@+at -// The content of this file is subject to the license -// given in license.txt +// Copyright (c) 2002-2004, Zdenko Denny Vrandecic and +// contributors. +// All rights reserved. +// (The license follows closely the new +// BSD-OpenSource-License) // +// Redistribution and use in source and binary forms, with +// or without +// modification, are permitted provided that the following +// conditions are met: +// Redistributions of source code must retain the above +// copyright notice, this list of conditions and the +// following disclaimer. +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the +// following disclaimer in the documentation +// and/or other materials provided with the distribution. +// Neither the name of the copyrightholder or one of the +// contributers to this source may be used to endorse or +// promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +// CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// If you use this source, please inform me, so I can keep +// track of how useful it really is. That would be very +// appreciated. +// +// The data distributed with this code is copyrighted by +// Fantasy Production, Erkrath, Germany, and *not* subject +// to the here given license. Distributing and using this +// data is granted by FanPro for the purpose of using +// computer driven tools for the role playing game "Das +// Schwarze Auge" / "The Dark Eye". Any other use is only +// allowed with prior written permission by FanPro. //@-at //@@c #ifdef MSVC #pragma warning(disable:4786 4503) #endif + //@-node:<< header >> //@nl @@ -68,7 +115,7 @@ int Lese(PersistenzManager* pm, const std::string& id = ""); int Schreibe(PersistenzManager* pm) const; - int Pruefe() const; + int Pruefe(); static int IDListe(PersistenzManager* pm, StringListe* liste); // sollte versteckt werden (Demeter) @@ -91,6 +138,14 @@ //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.9 2004/10/17 19:12:39 vrandezo +// IDs und Bezeichner getrennt - I18N vorbereitet +// ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. +// Aber Entwicklung ohne CVS wird mir zu doof. +// Vorsicht vor allem mit Helden und RKP. +// Tausend Kleinigkeiten geaendert. +// Neue Datensaetze in basis.xdi. +// // Revision 1.8 2004/04/13 21:45:45 vrandezo // Akademische Ausbildung (Magier) implementiert // Aufräumarbeiten (besser in Leo integriert) Index: Wuerfel.h =================================================================== RCS file: /cvsroot/darkeyetool/det/src/dsa/Wuerfel.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- Wuerfel.h 13 Apr 2004 21:45:45 -0000 1.4 +++ Wuerfel.h 17 Oct 2004 19:12:40 -0000 1.5 @@ -13,15 +13,62 @@ //@<< header >> //@+node:<< header >> //@+at -// The content of this file is subject to the license -// given in license.txt +// Copyright (c) 2002-2004, Zdenko Denny Vrandecic and +// contributors. +// All rights reserved. +// (The license follows closely the new +// BSD-OpenSource-License) +// +// Redistribution and use in source and binary forms, with +// or without +// modification, are permitted provided that the following +// conditions are met: +// Redistributions of source code must retain the above +// copyright notice, this list of conditions and the +// following disclaimer. +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the +// following disclaimer in the documentation +// and/or other materials provided with the distribution. +// Neither the name of the copyrightholder or one of the +// contributers to this source may be used to endorse or +// promote products derived from this software without +// specific prior written permission. // +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +// CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// If you use this source, please inform me, so I can keep +// track of how useful it really is. That would be very +// appreciated. +// +// The data distributed with this code is copyrighted by +// Fantasy Production, Erkrath, Germany, and *not* subject +// to the here given license. Distributing and using this +// data is granted by FanPro for the purpose of using +// computer driven tools for the role playing game "Das +// Schwarze Auge" / "The Dark Eye". Any other use is only +// allowed with prior written permission by FanPro. //@-at //@@c #ifdef MSVC #pragma warning(disable:4786 4503) #endif + //@-node:<< header >> //@nl @@ -65,6 +112,14 @@ //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.5 2004/10/17 19:12:40 vrandezo +// IDs und Bezeichner getrennt - I18N vorbereitet +// ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. +// Aber Entwicklung ohne CVS wird mir zu doof. +// Vorsicht vor allem mit Helden und RKP. +// Tausend Kleinigkeiten geaendert. +// Neue Datensaetze in basis.xdi. +// // Revision 1.4 2004/04/13 21:45:45 vrandezo // Akademische Ausbildung (Magier) implementiert // Aufräumarbeiten (besser in Leo integriert) Index: Voraussetzung.h =================================================================== RCS file: /cvsroot/darkeyetool/det/src/dsa/Voraussetzung.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- Voraussetzung.h 11 Apr 2004 21:13:06 -0000 1.7 +++ Voraussetzung.h 17 Oct 2004 19:12:40 -0000 1.8 @@ -11,15 +11,62 @@ //@<< header >> //@+node:<< header >> //@+at -// The content of this file is subject to the license -// given in license.txt +// Copyright (c) 2002-2004, Zdenko Denny Vrandecic and +// contributors. +// All rights reserved. +// (The license follows closely the new +// BSD-OpenSource-License) +// +// Redistribution and use in source and binary forms, with +// or without +// modification, are permitted provided that the following +// conditions are met: +// Redistributions of source code must retain the above +// copyright notice, this list of conditions and the +// following disclaimer. +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the +// following disclaimer in the documentation +// and/or other materials provided with the distribution. +// Neither the name of the copyrightholder or one of the +// contributers to this source may be used to endorse or +// promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +// CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// If you use this source, please inform me, so I can keep +// track of how useful it really is. That would be very +// appreciated. // +// The data distributed with this code is copyrighted by +// Fantasy Production, Erkrath, Germany, and *not* subject +// to the here given license. Distributing and using this +// data is granted by FanPro for the purpose of using +// computer driven tools for the role playing game "Das +// Schwarze Auge" / "The Dark Eye". Any other use is only +// allowed with prior written permission by FanPro. //@-at //@@c #ifdef MSVC #pragma warning(disable:4786 4503) #endif + //@-node:<< header >> //@nl @@ -40,8 +87,8 @@ class Person; class Voraussetzungen; - //@ << class Voraussetzung >> - //@+node:<< class Voraussetzung >> + //@ @+others + //@+node:class Voraussetzung class Voraussetzung { public: Voraussetzung(const std::string& id= "") @@ -51,8 +98,8 @@ ~Voraussetzung(); - static std::string Klasse() { return _t("Voraussetzung"); } - static std::string Klassen() { return _t("Voraussetzungen"); } + static std::string Klasse() { return ("Voraussetzung"); } + static std::string Klassen() { return ("Voraussetzungen"); } void ID(const std::string& id) { id_ = id; } std::string ID() const { return id_; } @@ -91,7 +138,7 @@ //@+node:<< Lese/Schreibe >> int Lese(PersistenzManager* pm, const std::string& id = ""); int Schreibe(PersistenzManager* pm) const; - int Pruefe() const; + int Pruefe(); static int IDListe(PersistenzManager* pm, StringListe* liste); //@nonl //@-node:<< Lese/Schreibe >> @@ -109,15 +156,13 @@ Voraussetzungen* alternativ_; bool ErfuelltPrivat(const Person& person) const; + std::string TextID(const std::string&) const; //@nonl //@-node:<< private >> //@nl }; // Voraussetzung - //@-node:<< class Voraussetzung >> - //@nl - - //@ << class Voraussetzungen >> - //@+node:<< class Voraussetzungen >> + //@-node:class Voraussetzung + //@+node:class Voraussetzungen class Voraussetzungen : public Menge<Voraussetzung> { public: Voraussetzungen(const std::string& id = "") : Menge<Voraussetzung>(id) {} @@ -125,8 +170,8 @@ bool Erfuellt(const Person& person) const; }; // Voraussetzungen //@nonl - //@-node:<< class Voraussetzungen >> - //@nl + //@-node:class Voraussetzungen + //@-others } @@ -135,6 +180,14 @@ //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.8 2004/10/17 19:12:40 vrandezo +// IDs und Bezeichner getrennt - I18N vorbereitet +// ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. +// Aber Entwicklung ohne CVS wird mir zu doof. +// Vorsicht vor allem mit Helden und RKP. +// Tausend Kleinigkeiten geaendert. +// Neue Datensaetze in basis.xdi. +// // Revision 1.7 2004/04/11 21:13:06 vrandezo // Voraussetzungen koennen jetzt mit "oder" verknuepft werden // @@ -231,5 +284,6 @@ //@nonl //@-node:<< Version History >> //@nl + //@-node:@file Voraussetzung.h //@-leo Index: Kampftechnik.h =================================================================== RCS file: /cvsroot/darkeyetool/det/src/dsa/Kampftechnik.h,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- Kampftechnik.h 23 Apr 2004 13:18:45 -0000 1.12 +++ Kampftechnik.h 17 Oct 2004 19:12:39 -0000 1.13 @@ -11,15 +11,62 @@ //@<< header >> //@+node:<< header >> //@+at -// The content of this file is subject to the license -// given in license.txt +// Copyright (c) 2002-2004, Zdenko Denny Vrandecic and +// contributors. +// All rights reserved. +// (The license follows closely the new +// BSD-OpenSource-License) +// +// Redistribution and use in source and binary forms, with +// or without +// modification, are permitted provided that the following +// conditions are met: +// Redistributions of source code must retain the above +// copyright notice, this list of conditions and the +// following disclaimer. +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the +// following disclaimer in the documentation +// and/or other materials provided with the distribution. +// Neither the name of the copyrightholder or one of the +// contributers to this source may be used to endorse or +// promote products derived from this software without +// specific prior written permission. // +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +// CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// If you use this source, please inform me, so I can keep +// track of how useful it really is. That would be very +// appreciated. +// +// The data distributed with this code is copyrighted by +// Fantasy Production, Erkrath, Germany, and *not* subject +// to the here given license. Distributing and using this +// data is granted by FanPro for the purpose of using +// computer driven tools for the role playing game "Das +// Schwarze Auge" / "The Dark Eye". Any other use is only +// allowed with prior written permission by FanPro. //@-at //@@c #ifdef MSVC #pragma warning(disable:4786 4503) #endif + //@-node:<< header >> //@nl @@ -30,82 +77,63 @@ //@+node:<< includes >> #include "NDSABasis.h" #include "Menge.h" -#include "Texte.h" #include "Regeln.h" #include "Auswahl.h" -//@nonl +#include "Definition.h" //@-node:<< includes >> //@nl namespace DSA { - class PersistenzManager; - //@ << KampftechnikDefinition >> - //@+node:<< KampftechnikDefinition >> - class KampftechnikDefinition { + //@ @+others + //@+node:KampftechnikDefinition + class KampftechnikDefinition : public Definition { public: - KampftechnikDefinition(const std::string& id = "") : id_(id), eBE_("-"), skt_(D) {} - static std::string Klasse() { return _t("Kampftechnik"); } - static std::string Klassen() { return _t("Kampftechniken"); } + KampftechnikDefinition(const std::string& id = "") : Definition(id), eBE_(KeineBE), skt_(D) {} + static std::string Klasse() { return ("Kampftechnik"); } + virtual std::string VirtuelleKlasse() const { return Klasse(); } + static std::string Klassen() { return ("Kampftechniken"); } typedef Kampfart Kriterium; - static std::string Kriteriumsart() { return _t("Kampfart"); } - static std::string Kriteriumstring(Kampfart kampfart) { return KampfartString(kampfart); } + static std::string Kriteriumsart() { return ("Kampfart"); } + static std::string Kriteriumstring(Kampfart kampfart) { return KampfartString(kampfart, false); } static Kampfart Kriteriumstring(std::string s) { return KampfartString(s); } Kampfart ZuKriterium() const { return KampfArt(); } bool IstKriterium(Kampfart art) const { return KampfArt() == art; } void SetzeKriterium(Kampfart art) { KampfArt(art); } - - void ID(const std::string& id) { id_ = id; } - std::string ID() const { return id_; } + void Art(Talentart art) { art_ = art; } Talentart Art() const { return art_; } void KampfArt(Kampfart art) { kampfart_ = art; } Kampfart KampfArt() const { return kampfart_; } void SKTSpalte_(SKTSpalte skt) { skt_ = skt; } SKTSpalte SKTSpalte_() const { return skt_; } - void EffektiveBehinderung(const std::string& ebe) { eBE_ = ebe; } - std::string EffektiveBehinderung() const { return eBE_; } - void Beschreibung(const std::string& beschreibung) { beschreibung_ = beschreibung; } - std::string Beschreibung() const { return beschreibung_; } + void EffektiveBehinderung(EBe ebe) { eBE_ = ebe; } + EBe EffektiveBehinderung() const { return eBE_; } bool operator==(const KampftechnikDefinition& other) const - { return ((id_==other.id_) + { return ((Definition::operator==(other)) && (art_==other.art_) && (kampfart_==other.kampfart_) && (skt_==other.skt_) - && (eBE_==other.eBE_) - && (beschreibung_==other.beschreibung_)); } + && (eBE_==other.eBE_)); } bool operator!=(const KampftechnikDefinition& other) const { return !operator==(other); } // std::string Text() const; int Lese(PersistenzManager* pm, const std::string& id = ""); int Schreibe(PersistenzManager* pm) const; - int Pruefe() const; + int Pruefe(); static int IDListe(PersistenzManager* pm, StringListe* liste); private: - std::string id_; Talentart art_; Kampfart kampfart_; SKTSpalte skt_; - std::string eBE_; - std::string beschreibung_; + EBe eBE_; }; // KampftechnikDefinition - //@nonl - //@-node:<< KampftechnikDefinition >> - //@nl - - class KampftechnikDefinitionen : public SortierteMenge<KampftechnikDefinition> { - }; // KampftechnikDefinitionen - - KampftechnikDefinitionen* kampftechniken(); - - class Person; - - //@ << Kampftechnik >> - //@+node:<< Kampftechnik >> + //@-node:KampftechnikDefinition + //@+node:Kampftechnik class Kampftechnik { public: Kampftechnik(const std::string& id = "", int wert = 0) : person_(0), wert_(wert), id_(id), autoAufteilenATPA_(true), aufAT_(0) {} @@ -113,8 +141,8 @@ Kampftechnik(const KampftechnikDefinition* const def, int wert = 0) : person_(0), wert_(wert), id_(def->ID()), autoAufteilenATPA_(true), aufAT_(0) {} void Bezugsperson(Person* p) { person_=p; } - static std::string Klasse() { return _t("Kampftechnik"); } - static std::string Klassen() { return _t("Kampftechniken"); } + static std::string Klasse() { return ("Kampftechnik"); } + static std::string Klassen() { return ("Kampftechniken"); } typedef int Kriterium; // wird für die Auswahl benötigt, ignorieren @@ -157,7 +185,7 @@ int Lese(PersistenzManager* pm, const std::string& id = ""); int Schreibe(PersistenzManager* pm) const; - int Pruefe() const; + int Pruefe(); static int IDListe(PersistenzManager* pm, StringListe* liste); private: @@ -168,8 +196,15 @@ bool autoAufteilenATPA_; }; // Kampftechnik //@nonl - //@-node:<< Kampftechnik >> - //@nl + //@-node:Kampftechnik + //@-others + + class KampftechnikDefinitionen : public SortierteMenge<KampftechnikDefinition> { + }; // KampftechnikDefinitionen + + KampftechnikDefinitionen* kampftechniken(); + + class Person; typedef Menge<Kampftechnik> Kampftechniken; //class Kampftechniken : public Menge<Kampftechnik> { @@ -184,6 +219,14 @@ //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.13 2004/10/17 19:12:39 vrandezo +// IDs und Bezeichner getrennt - I18N vorbereitet +// ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. +// Aber Entwicklung ohne CVS wird mir zu doof. +// Vorsicht vor allem mit Helden und RKP. +// Tausend Kleinigkeiten geaendert. +// Neue Datensaetze in basis.xdi. +// // Revision 1.12 2004/04/23 13:18:45 vrandezo // Absturz bei Bauern - skt_ nicht initialisiert (Bugmeldung Twel u.a.) // Index: Kultur.cpp =================================================================== RCS file: /cvsroot/darkeyetool/det/src/dsa/Kultur.cpp,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- Kultur.cpp 29 Jan 2004 09:06:18 -0000 1.12 +++ Kultur.cpp 17 Oct 2004 19:12:39 -0000 1.13 @@ -11,18 +11,64 @@ //@<< header >> //@+node:<< header >> //@+at -// The content of this file is subject to the license -// given in license.txt +// Copyright (c) 2002-2004, Zdenko Denny Vrandecic and +// contributors. +// All rights reserved. +// (The license follows closely the new +// BSD-OpenSource-License) // +// Redistribution and use in source and binary forms, with +// or without +// modification, are permitted provided that the following +// conditions are met: +// Redistributions of source code must retain the above +// copyright notice, this list of conditions and the +// following di... [truncated message content] |
Update of /cvsroot/darkeyetool/det/src/gui In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15658/src/gui Modified Files: CharakteristikumGUIwx.cpp CharakteristikumGUIwx.h CharakteristikumSchlechteEigenschaftGUIwx.cpp CharakteristikumSchlechteEigenschaftGUIwx.h HoleGUIwx.cpp HoleGUIwx.h InfoGUIwx.cpp InfoGUIwx.h KampftechnikGUIwx.cpp KampftechnikGUIwx.h KonstantenGUIwx.cpp KonstantenGUIwx.h KulturGUIwx.cpp KulturGUIwx.h MengeGUIwx.h PersonGUIGeneratorHelferwx.cpp PersonGUIGeneratorHelferwx.h PersonGUIKulturwx.cpp PersonGUIKulturwx.h PersonGUIPersonenKomponentewx.cpp PersonGUIPersonenKomponentewx.h PersonGUIProfessionwx.cpp PersonGUIProfessionwx.h PersonGUIRassewx.cpp PersonGUIRassewx.h PersonGUIZauberwx.cpp PersonGUIZauberwx.h PersonGUIwx.cpp PersonGUIwx.h PersonenKomponenteGUIwx.h ProfessionGUISpruechewx.cpp ProfessionGUIwx.cpp ProfessionGUIwx.h RasseGUIwx.cpp RasseGUIwx.h SonderfertigkeitGUIwx.cpp SonderfertigkeitGUIwx.h SonderfertigkeitWaffenloseSonderfertigkeitGUIwx.cpp SonderfertigkeitWaffenloseSonderfertigkeitGUIwx.h SonderfertigkeitWaffenloserKampfstilGUIwx.cpp SonderfertigkeitWaffenloserKampfstilGUIwx.h SonderfertigkeitZaubertanzGUIwx.cpp SonderfertigkeitZaubertanzGUIwx.h SpracheSchriftGUIwx.cpp SpracheSchriftGUIwx.h TalentGUIwx.cpp TalentGUIwx.h ZauberGUIwx.cpp ZauberGUIwx.h Log Message: IDs und Bezeichner getrennt - I18N vorbereitet ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. Aber Entwicklung ohne CVS wird mir zu doof. Vorsicht vor allem mit Helden und RKP. Tausend Kleinigkeiten geaendert. Neue Datensaetze in basis.xdi. Index: SonderfertigkeitWaffenloserKampfstilGUIwx.cpp =================================================================== RCS file: /cvsroot/darkeyetool/det/src/gui/SonderfertigkeitWaffenloserKampfstilGUIwx.cpp,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- SonderfertigkeitWaffenloserKampfstilGUIwx.cpp 25 Jun 2004 16:12:26 -0000 1.9 +++ SonderfertigkeitWaffenloserKampfstilGUIwx.cpp 17 Oct 2004 19:12:42 -0000 1.10 @@ -13,15 +13,62 @@ //@<< header >> //@+node:<< header >> //@+at -// The content of this file is subject to the license -// given in license.txt +// Copyright (c) 2002-2004, Zdenko Denny Vrandecic and +// contributors. +// All rights reserved. +// (The license follows closely the new +// BSD-OpenSource-License) +// +// Redistribution and use in source and binary forms, with +// or without +// modification, are permitted provided that the following +// conditions are met: +// Redistributions of source code must retain the above +// copyright notice, this list of conditions and the +// following disclaimer. +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the +// following disclaimer in the documentation +// and/or other materials provided with the distribution. +// Neither the name of the copyrightholder or one of the +// contributers to this source may be used to endorse or +// promote products derived from this software without +// specific prior written permission. // +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +// CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// If you use this source, please inform me, so I can keep +// track of how useful it really is. That would be very +// appreciated. +// +// The data distributed with this code is copyrighted by +// Fantasy Production, Erkrath, Germany, and *not* subject +// to the here given license. Distributing and using this +// data is granted by FanPro for the purpose of using +// computer driven tools for the role playing game "Das +// Schwarze Auge" / "The Dark Eye". Any other use is only +// allowed with prior written permission by FanPro. //@-at //@@c #ifdef MSVC #pragma warning(disable:4786 4503) #endif + //@-node:<< header >> //@nl //@<< includes >> @@ -93,7 +140,7 @@ verbessert_->Clear(); for (DSA::KampftechnikDefinitionen::iterator k = DSA::kampftechniken()->begin(); k != DSA::kampftechniken()->end(); ++k) if (k->second.KampfArt()==DSA::WaffenloserKampf) - verbessert_->Append(k->first.c_str()); + verbessert_->Append(k->second.Bezeichnung().c_str()); zeilenSizer->Add(verbessert_, 1, wxEXPAND); @@ -125,7 +172,8 @@ rechtsSizer->Add(voraussetzungen_, 1, wxEXPAND | wxBOTTOM, 2); zeilenSizer = new wxBoxSizer(wxHORIZONTAL); - zeilenSizer->Add(new wxButton(this, VORHINZU, _t("Voraussetzung hinzufügen").c_str(), wxPoint(), wxSize(20, 20)), 1, wxRIGHT, 2); + zeilenSizer->Add(new wxButton(this, VORHINZU, _t("Neu").c_str(), wxPoint(), wxSize(20, 20)), 1, wxRIGHT, 2); + zeilenSizer->Add(new wxButton(this, VORWEG, _t("Löschen").c_str(), wxPoint(), wxSize(20, 20)), 1, wxRIGHT, 2); zeilenSizer->Add(new wxButton(this, VORPLUS, "+", wxPoint(), wxSize(20, 20)), 0, wxRIGHT, 2); zeilenSizer->Add(new wxButton(this, VORMINUS, "-", wxPoint(), wxSize(20, 20)), 0, wxRIGHT, 4); @@ -177,7 +225,7 @@ //@-node:SonderfertigkeitWaffenloserKampfstilGUIwx //@+node:UpdateTitel void SonderfertigkeitWaffenloserKampfstilGUIwx::UpdateTitel() { - std::string s = _t("Waffenloser Kampfstil") + ": " + objekt_->ID(); + std::string s = _t("Waffenloser Kampfstil") + ": " + objekt_->Bezeichnung() + " (ID: " + objekt_->ID() + ")"; SetTitle(s.c_str()); } //@nonl @@ -191,7 +239,7 @@ StringListe sfs; for (DSA::SonderfertigkeitDefinitionen::iterator sf = DSA::sonderfertigkeiten()->begin(); sf != DSA::sonderfertigkeiten()->end(); ++sf) - if (sf->second.WaffenloseSonderfertigkeit()) + if (sf->second.IstWaffenloseSonderfertigkeit()) sfs.push_back(sf->first); sfs_->Clear(); @@ -200,9 +248,9 @@ DSA::SonderfertigkeitDefinition* sfd = DSA::sonderfertigkeiten()->Zeige(*s); StringListe l = sfd->Extras(); if (std::find(l.begin(), l.end(), objekt_->ID())!=l.end()) - sfs_->Append(s->c_str()); + sfs_->Append(sfd->Bezeichnung().c_str()); else - sfliste_->Append(s->c_str()); + sfliste_->Append(sfd->Bezeichnung().c_str()); } if (voraussetzungen_->GetSelection()==-1) gewaehlteVor_==""; @@ -211,7 +259,7 @@ voraussetzungen_->Append(vi->second.Text().c_str()); int pos = voraussetzungen_->FindString(objekt_->voraussetzungen_.Hole(gewaehlteVor_).Text().c_str()); if (pos != -1) voraussetzungen_->SetSelection(pos); - verbessert_->SetSelection(verbessert_->FindString(objekt_->Extra().c_str())); + verbessert_->SetSelection(verbessert_->FindString(DSA::kampftechniken()->Zeige(objekt_->Extra())->Bezeichnung().c_str())); if (objekt_->Beschreibung() != "") beschreibung_->SetValue(objekt_->Beschreibung().c_str()); @@ -221,13 +269,30 @@ UpdateTitel(); } //@-node:Update +//@+node:UpdateIDs +void SonderfertigkeitWaffenloserKampfstilGUIwx::UpdateIDs() { + idListe_->Clear(); + if (!objekte_) return; + for (DSA::SonderfertigkeitDefinitionen::iterator i=objekte_->begin(); i!=objekte_->end(); ++i) + if (i->second.IstWaffenloserKampfstil()) { + if (idModus_) + idListe_->Append(i->first.c_str()); + else + idListe_->Append(i->second.Bezeichnung().c_str()); + if (objekt_.get()) + if (objekt_->ID() == i->first) + idListe_->SetSelection(idListe_->GetCount()-1); + } +} +//@nonl +//@-node:UpdateIDs //@+node:UpdateData void SonderfertigkeitWaffenloserKampfstilGUIwx::UpdateData() { if (!(objekt_.get())) return; objekt_->GP(strings::sStr2int(gpKostenText_->GetValue().c_str())); objekt_->AP(strings::sStr2int(apKostenText_->GetValue().c_str())); - objekt_->Extra(verbessert_->GetValue().c_str()); + objekt_->Extra(DSA::kampftechniken()->Finde(verbessert_->GetValue().c_str())); if (beschreibung_->GetValue()!=wxString(_t("keine Beschreibung vorhanden").c_str())) objekt_->Beschreibung(beschreibung_->GetValue().c_str()); } @@ -235,18 +300,14 @@ //@+node:Neu void SonderfertigkeitWaffenloserKampfstilGUIwx::Neu(const std::string& hinzufuegendes) { MengeGUIwx<DSA::SonderfertigkeitDefinitionen>::Neu(hinzufuegendes); - DSA::sonderfertigkeiten()->Zeige(hinzufuegendes)->WaffenloserKampfstil(true); + DSA::sonderfertigkeiten()->Zeige(hinzufuegendes)->IstWaffenloserKampfstil(true); DSA::sonderfertigkeiten()->Zeige(hinzufuegendes)->Extra(_t("Raufen")); // TODO Zauberkonstante } //@-node:Neu //@+node:BEGIN_EVENT_TABLE -//@+at -//@nonl -// Konstruktor -//@-at -//@@c - BEGIN_EVENT_TABLE(SonderfertigkeitWaffenloserKampfstilGUIwx, wxFrame) + EVT_TOGGLEBUTTON (BTID, SonderfertigkeitWaffenloserKampfstilGUIwx::OnIDBtn) + EVT_TOGGLEBUTTON (BTBEZ, SonderfertigkeitWaffenloserKampfstilGUIwx::OnBezBtn) EVT_LISTBOX (IDLISTBOX, SonderfertigkeitWaffenloserKampfstilGUIwx::OnIDListboxSelect) EVT_BUTTON (BTLOESCHEN, SonderfertigkeitWaffenloserKampfstilGUIwx::OnLoeschenBtn) EVT_BUTTON (BTKOPIEREN, SonderfertigkeitWaffenloserKampfstilGUIwx::OnKopierenBtn) @@ -268,6 +329,7 @@ EVT_BUTTON (VORMINUS, SonderfertigkeitWaffenloserKampfstilGUIwx::OnVorMinus) EVT_BUTTON (VORHINZU, SonderfertigkeitWaffenloserKampfstilGUIwx::OnVorHinzu) EVT_LISTBOX_DCLICK(VORWEG, SonderfertigkeitWaffenloserKampfstilGUIwx::OnVorWeg) + EVT_BUTTON (VORWEG, SonderfertigkeitWaffenloserKampfstilGUIwx::OnVorWeg) EVT_LISTBOX (VORWEG, SonderfertigkeitWaffenloserKampfstilGUIwx::OnVorAuswahl) EVT_COMBOBOX(VERBESSERT, SonderfertigkeitWaffenloserKampfstilGUIwx::OnUpdateData) EVT_BUTTON (SFWEG, SonderfertigkeitWaffenloserKampfstilGUIwx::OnSFWeg) @@ -275,47 +337,20 @@ EVT_LISTBOX_DCLICK(SFWEGD, SonderfertigkeitWaffenloserKampfstilGUIwx::OnSFWeg) EVT_LISTBOX_DCLICK(SFHINZUD, SonderfertigkeitWaffenloserKampfstilGUIwx::OnSFHinzu) END_EVENT_TABLE() - -void SonderfertigkeitWaffenloserKampfstilGUIwx::UpdateIDs() { - idListe_->Clear(); - if (!objekte_) return; - for (DSA::SonderfertigkeitDefinitionen::iterator i=objekte_->begin(); i!=objekte_->end(); ++i) - if (i->second.WaffenloserKampfstil()) - idListe_->Append(i->first.c_str()); -} -//@nonl //@-node:BEGIN_EVENT_TABLE //@+node:OnUpdate -//@+at -//@nonl -// Neu -//@-at -//@@c - void SonderfertigkeitWaffenloserKampfstilGUIwx::OnUpdate (wxCommandEvent& WXUNUSED(event)) { Update(); } //@nonl //@-node:OnUpdate //@+node:OnUpdateData -//@+at -//@nonl -// OnUpdate -//@-at -//@@c - void SonderfertigkeitWaffenloserKampfstilGUIwx::OnUpdateData (wxCommandEvent& WXUNUSED(event)) { UpdateData(); } //@nonl //@-node:OnUpdateData //@+node:OnGPPlus -//@+at -//@nonl -// OnUpdateData -//@-at -//@@c - void SonderfertigkeitWaffenloserKampfstilGUIwx::OnGPPlus (wxCommandEvent& WXUNUSED(event)) { objekt_->GP(objekt_->GP()+1); objekt_->AP(objekt_->AP()+50); @@ -324,12 +359,6 @@ //@nonl //@-node:OnGPPlus //@+node:OnGPMinus -//@+at -//@nonl -// OnGPPlus -//@-at -//@@c - void SonderfertigkeitWaffenloserKampfstilGUIwx::OnGPMinus (wxCommandEvent& WXUNUSED(event)) { objekt_->GP(objekt_->GP()-1); objekt_->AP(objekt_->AP()-50); @@ -338,12 +367,6 @@ //@nonl //@-node:OnGPMinus //@+node:OnAPPlus -//@+at -//@nonl -// OnGPMinus -//@-at -//@@c - void SonderfertigkeitWaffenloserKampfstilGUIwx::OnAPPlus (wxCommandEvent& WXUNUSED(event)) { objekt_->AP(objekt_->AP()+1); Update(); @@ -351,12 +374,6 @@ //@nonl //@-node:OnAPPlus //@+node:OnAPMinus -//@+at -//@nonl -// OnAPPlus -//@-at -//@@c - void SonderfertigkeitWaffenloserKampfstilGUIwx::OnAPMinus (wxCommandEvent& WXUNUSED(event)) { objekt_->AP(objekt_->AP()-1); Update(); @@ -364,12 +381,6 @@ //@nonl //@-node:OnAPMinus //@+node:OnAPPlus10 -//@+at -//@nonl -// OnAPMinus -//@-at -//@@c - void SonderfertigkeitWaffenloserKampfstilGUIwx::OnAPPlus10 (wxCommandEvent& WXUNUSED(event)) { objekt_->AP(objekt_->AP()+10); Update(); @@ -377,12 +388,6 @@ //@nonl //@-node:OnAPPlus10 //@+node:OnAPMinus10 -//@+at -//@nonl -// OnAPPlus -//@-at -//@@c - void SonderfertigkeitWaffenloserKampfstilGUIwx::OnAPMinus10 (wxCommandEvent& WXUNUSED(event)) { objekt_->AP(objekt_->AP()-10); Update(); @@ -390,12 +395,6 @@ //@nonl //@-node:OnAPMinus10 //@+node:OnAPPlus100 -//@+at -//@nonl -// OnAPMinus -//@-at -//@@c - void SonderfertigkeitWaffenloserKampfstilGUIwx::OnAPPlus100 (wxCommandEvent& WXUNUSED(event)) { objekt_->AP(objekt_->AP()+100); Update(); @@ -403,12 +402,6 @@ //@nonl //@-node:OnAPPlus100 //@+node:OnAPMinus100 -//@+at -//@nonl -// OnAPPlus -//@-at -//@@c - void SonderfertigkeitWaffenloserKampfstilGUIwx::OnAPMinus100 (wxCommandEvent& WXUNUSED(event)) { objekt_->AP(objekt_->AP()-100); Update(); @@ -416,12 +409,6 @@ //@nonl //@-node:OnAPMinus100 //@+node:OnVorPlus -//@+at -//@nonl -// OnAPMinus -//@-at -//@@c - void SonderfertigkeitWaffenloserKampfstilGUIwx::OnVorPlus (wxCommandEvent& WXUNUSED(event)) { if (gewaehlteVor_=="") return; DSA::Voraussetzung* vor = objekt_->voraussetzungen_.Zeige(gewaehlteVor_); @@ -431,12 +418,6 @@ //@nonl //@-node:OnVorPlus //@+node:OnVorMinus -//@+at -//@nonl -// OnVorPlus -//@-at -//@@c - void SonderfertigkeitWaffenloserKampfstilGUIwx::OnVorMinus (wxCommandEvent& WXUNUSED(event)) { if (gewaehlteVor_=="") return; DSA::Voraussetzung* vor = objekt_->voraussetzungen_.Zeige(gewaehlteVor_); @@ -446,41 +427,29 @@ //@nonl //@-node:OnVorMinus //@+node:OnVorHinzu -//@+at -//@nonl -// OnVorMinus -//@-at -//@@c - void SonderfertigkeitWaffenloserKampfstilGUIwx::OnVorHinzu (wxCommandEvent& WXUNUSED(event)) { StringListe sl; - for (DSA::KampftechnikDefinitionen::iterator k = DSA::kampftechniken()->begin(); k != DSA::kampftechniken()->end(); ++k) + forallconstp (DSA::KampftechnikDefinitionen, k, DSA::kampftechniken()) if (k->second.KampfArt()==DSA::WaffenloserKampf) - sl.push_back(k->first); + sl.push_back(k->second.Bezeichnung()); wxString* wxs = new wxString[sl.size()]; int i = 0; - for (StringListe::iterator si = sl.begin(); si != sl.end(); ++si) + forallconst (StringListe, si, sl) wxs[i++] = si->c_str(); wxSingleChoiceDialog s(this, _t("Auf welche Kampftechnik?").c_str(), _t("Bitte wählen").c_str(), sl.size(), wxs); delete [] wxs; if (s.ShowModal() != wxID_OK) return; - DSA::Voraussetzung vor(s.GetStringSelection().c_str()); + DSA::Voraussetzung vor(DSA::kampftechniken()->Finde(s.GetStringSelection().c_str())); vor.Minimal(true); vor.MinimalWert(7); // TODO magische Konstante objekt_->voraussetzungen_.FuegeEin(vor); gewaehlteVor_ = vor.ID(); Update(); } -//@nonl + //@-node:OnVorHinzu //@+node:OnVorWeg -//@+at -//@nonl -// OnVorHinzu -//@-at -//@@c - void SonderfertigkeitWaffenloserKampfstilGUIwx::OnVorWeg (wxCommandEvent& WXUNUSED(event)) { if (gewaehlteVor_!="") objekt_->voraussetzungen_.Loesche(gewaehlteVor_); @@ -490,12 +459,6 @@ //@nonl //@-node:OnVorWeg //@+node:OnVorAuswahl -//@+at -//@nonl -// OnVorWeg -//@-at -//@@c - void SonderfertigkeitWaffenloserKampfstilGUIwx::OnVorAuswahl (wxCommandEvent& WXUNUSED(event)) { gewaehlteVor_ = ""; if (voraussetzungen_->GetSelection()==-1) return; @@ -509,7 +472,7 @@ void SonderfertigkeitWaffenloserKampfstilGUIwx::OnSFHinzu (wxCommandEvent& WXUNUSED(event)) { if (sfliste_->GetSelection()==-1) return; std::string sf = sfliste_->GetStringSelection().c_str(); - DSA::SonderfertigkeitDefinition* sfd = DSA::sonderfertigkeiten()->Zeige(sf); + DSA::SonderfertigkeitDefinition* sfd = DSA::sonderfertigkeiten()->Zeige(DSA::sonderfertigkeiten()->Finde(sf)); StringListe l = sfd->Extras(); l.push_back(objekt_->ID()); sfd->Extras(l); @@ -522,7 +485,7 @@ void SonderfertigkeitWaffenloserKampfstilGUIwx::OnSFWeg (wxCommandEvent& WXUNUSED(event)) { if (sfs_->GetSelection()==-1) return; std::string sf = sfs_->GetStringSelection().c_str(); - DSA::SonderfertigkeitDefinition* sfd = DSA::sonderfertigkeiten()->Zeige(sf); + DSA::SonderfertigkeitDefinition* sfd = DSA::sonderfertigkeiten()->Zeige(DSA::sonderfertigkeiten()->Finde(sf)); StringListe l = sfd->Extras(); StringListe neueStile; @@ -540,6 +503,14 @@ //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.10 2004/10/17 19:12:42 vrandezo +// IDs und Bezeichner getrennt - I18N vorbereitet +// ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. +// Aber Entwicklung ohne CVS wird mir zu doof. +// Vorsicht vor allem mit Helden und RKP. +// Tausend Kleinigkeiten geaendert. +// Neue Datensaetze in basis.xdi. +// // Revision 1.9 2004/06/25 16:12:26 twel // wxListBox::Number() ersetzt durch GetCount() (deprecated) // @@ -570,5 +541,6 @@ //@nonl //@-node:<< Version History >> //@nl + //@-node:@file SonderfertigkeitWaffenloserKampfstilGUIwx.cpp //@-leo Index: PersonGUIGeneratorHelferwx.cpp =================================================================== RCS file: /cvsroot/darkeyetool/det/src/gui/PersonGUIGeneratorHelferwx.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- PersonGUIGeneratorHelferwx.cpp 9 Apr 2004 22:26:20 -0000 1.8 +++ PersonGUIGeneratorHelferwx.cpp 17 Oct 2004 19:12:41 -0000 1.9 @@ -12,15 +12,62 @@ //@<< header >> //@+node:<< header >> //@+at -// The content of this file is subject to the license -// given in license.txt +// Copyright (c) 2002-2004, Zdenko Denny Vrandecic and +// contributors. +// All rights reserved. +// (The license follows closely the new +// BSD-OpenSource-License) +// +// Redistribution and use in source and binary forms, with +// or without +// modification, are permitted provided that the following +// conditions are met: +// Redistributions of source code must retain the above +// copyright notice, this list of conditions and the +// following disclaimer. +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the +// following disclaimer in the documentation +// and/or other materials provided with the distribution. +// Neither the name of the copyrightholder or one of the +// contributers to this source may be used to endorse or +// promote products derived from this software without +// specific prior written permission. // +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +// CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// If you use this source, please inform me, so I can keep +// track of how useful it really is. That would be very +// appreciated. +// +// The data distributed with this code is copyrighted by +// Fantasy Production, Erkrath, Germany, and *not* subject +// to the here given license. Distributing and using this +// data is granted by FanPro for the purpose of using +// computer driven tools for the role playing game "Das +// Schwarze Auge" / "The Dark Eye". Any other use is only +// allowed with prior written permission by FanPro. //@-at //@@c #ifdef MSVC #pragma warning(disable:4786 4503) #endif + //@-node:<< header >> //@nl //@<< includes >> @@ -211,6 +258,14 @@ //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.9 2004/10/17 19:12:41 vrandezo +// IDs und Bezeichner getrennt - I18N vorbereitet +// ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. +// Aber Entwicklung ohne CVS wird mir zu doof. +// Vorsicht vor allem mit Helden und RKP. +// Tausend Kleinigkeiten geaendert. +// Neue Datensaetze in basis.xdi. +// // Revision 1.8 2004/04/09 22:26:20 vrandezo // Zauberfertigkeiten fuer Personen eintragbar // Index: KonstantenGUIwx.cpp =================================================================== RCS file: /cvsroot/darkeyetool/det/src/gui/KonstantenGUIwx.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- KonstantenGUIwx.cpp 13 May 2004 07:52:45 -0000 1.4 +++ KonstantenGUIwx.cpp 17 Oct 2004 19:12:41 -0000 1.5 @@ -12,15 +12,62 @@ //@<< header >> //@+node:<< header >> //@+at -// The content of this file is subject to the license -// given in license.txt +// Copyright (c) 2002-2004, Zdenko Denny Vrandecic and +// contributors. +// All rights reserved. +// (The license follows closely the new +// BSD-OpenSource-License) +// +// Redistribution and use in source and binary forms, with +// or without +// modification, are permitted provided that the following +// conditions are met: +// Redistributions of source code must retain the above +// copyright notice, this list of conditions and the +// following disclaimer. +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the +// following disclaimer in the documentation +// and/or other materials provided with the distribution. +// Neither the name of the copyrightholder or one of the +// contributers to this source may be used to endorse or +// promote products derived from this software without +// specific prior written permission. // +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +// CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// If you use this source, please inform me, so I can keep +// track of how useful it really is. That would be very +// appreciated. +// +// The data distributed with this code is copyrighted by +// Fantasy Production, Erkrath, Germany, and *not* subject +// to the here given license. Distributing and using this +// data is granted by FanPro for the purpose of using +// computer driven tools for the role playing game "Das +// Schwarze Auge" / "The Dark Eye". Any other use is only +// allowed with prior written permission by FanPro. //@-at //@@c #ifdef MSVC #pragma warning(disable:4786 4503) #endif + //@-node:<< header >> //@nl //@<< includes >> @@ -190,6 +237,14 @@ //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.5 2004/10/17 19:12:41 vrandezo +// IDs und Bezeichner getrennt - I18N vorbereitet +// ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. +// Aber Entwicklung ohne CVS wird mir zu doof. +// Vorsicht vor allem mit Helden und RKP. +// Tausend Kleinigkeiten geaendert. +// Neue Datensaetze in basis.xdi. +// // Revision 1.4 2004/05/13 07:52:45 dertron // Korrekturen für gcc 3.4, der einiges ISO-C++-konformer ist. // Index: SonderfertigkeitWaffenloserKampfstilGUIwx.h =================================================================== RCS file: /cvsroot/darkeyetool/det/src/gui/SonderfertigkeitWaffenloserKampfstilGUIwx.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- SonderfertigkeitWaffenloserKampfstilGUIwx.h 28 Nov 2003 16:47:21 -0000 1.5 +++ SonderfertigkeitWaffenloserKampfstilGUIwx.h 17 Oct 2004 19:12:42 -0000 1.6 @@ -12,15 +12,62 @@ //@<< header >> //@+node:<< header >> //@+at -// The content of this file is subject to the license -// given in license.txt +// Copyright (c) 2002-2004, Zdenko Denny Vrandecic and +// contributors. +// All rights reserved. +// (The license follows closely the new +// BSD-OpenSource-License) +// +// Redistribution and use in source and binary forms, with +// or without +// modification, are permitted provided that the following +// conditions are met: +// Redistributions of source code must retain the above +// copyright notice, this list of conditions and the +// following disclaimer. +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the +// following disclaimer in the documentation +// and/or other materials provided with the distribution. +// Neither the name of the copyrightholder or one of the +// contributers to this source may be used to endorse or +// promote products derived from this software without +// specific prior written permission. // +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +// CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// If you use this source, please inform me, so I can keep +// track of how useful it really is. That would be very +// appreciated. +// +// The data distributed with this code is copyrighted by +// Fantasy Production, Erkrath, Germany, and *not* subject +// to the here given license. Distributing and using this +// data is granted by FanPro for the purpose of using +// computer driven tools for the role playing game "Das +// Schwarze Auge" / "The Dark Eye". Any other use is only +// allowed with prior written permission by FanPro. //@-at //@@c #ifdef MSVC #pragma warning(disable:4786 4503) #endif + //@-node:<< header >> //@nl @@ -104,6 +151,14 @@ //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.6 2004/10/17 19:12:42 vrandezo +// IDs und Bezeichner getrennt - I18N vorbereitet +// ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. +// Aber Entwicklung ohne CVS wird mir zu doof. +// Vorsicht vor allem mit Helden und RKP. +// Tausend Kleinigkeiten geaendert. +// Neue Datensaetze in basis.xdi. +// // Revision 1.5 2003/11/28 16:47:21 vrandezo // Manöver // Index: CharakteristikumSchlechteEigenschaftGUIwx.h =================================================================== RCS file: /cvsroot/darkeyetool/det/src/gui/CharakteristikumSchlechteEigenschaftGUIwx.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- CharakteristikumSchlechteEigenschaftGUIwx.h 28 Nov 2003 16:48:04 -0000 1.5 +++ CharakteristikumSchlechteEigenschaftGUIwx.h 17 Oct 2004 19:12:41 -0000 1.6 @@ -1,26 +1,92 @@ //@+leo-ver=4-encoding=iso-8859-1. //@+node:@file CharakteristikumSchlechteEigenschaftGUIwx.h -////////////////////////////////////////////////////////////////////// -// -// CharakteristikumSchlechteEigenschaftGUIwx.h: Fenster zum Editieren -// von Schlechten Eigenschaften -// +//@+at +// CharakteristikumSchlechteEigenschaftGUIwx.h: Fenster +// zum Editieren von Schlechten Eigenschaften +// // $Revision$ // $Date$ -// -// Der Inhalt dieser Datei fällt unter die in license.txt gegebene Lizenz. -// -////////////////////////////////////////////////////////////////////// +//@-at +//@@c + +//@<< header >> +//@+node:<< header >> +//@+at +// Copyright (c) 2002-2004, Zdenko Denny Vrandecic and +// contributors. +// All rights reserved. +// (The license follows closely the new +// BSD-OpenSource-License) +// +// Redistribution and use in source and binary forms, with +// or without +// modification, are permitted provided that the following +// conditions are met: +// Redistributions of source code must retain the above +// copyright notice, this list of conditions and the +// following disclaimer. +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the +// following disclaimer in the documentation +// and/or other materials provided with the distribution. +// Neither the name of the copyrightholder or one of the +// contributers to this source may be used to endorse or +// promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +// CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// If you use this source, please inform me, so I can keep +// track of how useful it really is. That would be very +// appreciated. +// +// The data distributed with this code is copyrighted by +// Fantasy Production, Erkrath, Germany, and *not* subject +// to the here given license. Distributing and using this +// data is granted by FanPro for the purpose of using +// computer driven tools for the role playing game "Das +// Schwarze Auge" / "The Dark Eye". Any other use is only +// allowed with prior written permission by FanPro. +//@-at +//@@c + +#ifdef MSVC +#pragma warning(disable:4786 4503) +#endif + +//@-node:<< header >> +//@nl #if !defined(CHARAKTERISTIKUMSCHLECHTEEIGENSCHAFTGUIWX_H) #define CHARAKTERISTIKUMSCHLECHTEEIGENSCHAFTGUIWX_H +//@<< includes >> +//@+node:<< includes >> #include "dsa/Charakteristikum.h" #include "MengeGUIwx.h" +//@nonl +//@-node:<< includes >> +//@nl class wxCheckBox; class wxComboBox; +//@<< CharakteristikumSchlechteEigenschaftGUIwx >> +//@+node:<< CharakteristikumSchlechteEigenschaftGUIwx >> //! Fenster zum Darstellen und Editieren von Charakteristika class CharakteristikumSchlechteEigenschaftGUIwx : public MengeGUIwx<DSA::CharakteristikumDefinitionen> { @@ -76,10 +142,23 @@ DECLARE_EVENT_TABLE() }; // CharakteristikumSchlechteEigenschaftGUIwx +//@nonl +//@-node:<< CharakteristikumSchlechteEigenschaftGUIwx >> +//@nl #endif // !defined(CHARAKTERISTIKUMSCHLECHTEIGENSCHAFTGUIWX_H) +//@<< Version History >> +//@+node:<< Version History >> // $Log$ +// Revision 1.6 2004/10/17 19:12:41 vrandezo +// IDs und Bezeichner getrennt - I18N vorbereitet +// ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. +// Aber Entwicklung ohne CVS wird mir zu doof. +// Vorsicht vor allem mit Helden und RKP. +// Tausend Kleinigkeiten geaendert. +// Neue Datensaetze in basis.xdi. +// // Revision 1.5 2003/11/28 16:48:04 vrandezo // Zeilenvorlauf am Dateiende (Warnung bei gcc) // @@ -94,5 +173,9 @@ // Revision 1.1 2003/03/09 13:04:21 vrandezo // Aufgeteilte Editoren für Schlechte Eigenschaften und sonstige Vor- und Nachteile // +//@nonl +//@-node:<< Version History >> +//@nl +//@nonl //@-node:@file CharakteristikumSchlechteEigenschaftGUIwx.h //@-leo Index: SpracheSchriftGUIwx.cpp =================================================================== RCS file: /cvsroot/darkeyetool/det/src/gui/SpracheSchriftGUIwx.cpp,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- SpracheSchriftGUIwx.cpp 25 Jun 2004 16:12:26 -0000 1.7 +++ SpracheSchriftGUIwx.cpp 17 Oct 2004 19:12:42 -0000 1.8 @@ -1,22 +1,77 @@ //@+leo-ver=4-encoding=iso-8859-1. //@+node:@file SpracheSchriftGUIwx.cpp -////////////////////////////////////////////////////////////////////// -// -// SpracheSchriftGUIwx.cpp: Implementierung des Fensters zum Editieren von Sprachen und Schriften -// +//@+at +// SpracheSchriftGUIwx.cpp: Implementierung des Fensters +// zum Editieren von Sprachen und Schriften +// // $Revision$ // $Date$ -// -// Der Inhalt dieser Datei fällt unter die in license.txt gegebene Lizenz. -// -////////////////////////////////////////////////////////////////////// +//@-at +//@@c + +//@<< header >> +//@+node:<< header >> +//@+at +// Copyright (c) 2002-2004, Zdenko Denny Vrandecic and +// contributors. +// All rights reserved. +// (The license follows closely the new +// BSD-OpenSource-License) +// +// Redistribution and use in source and binary forms, with +// or without +// modification, are permitted provided that the following +// conditions are met: +// Redistributions of source code must retain the above +// copyright notice, this list of conditions and the +// following disclaimer. +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the +// following disclaimer in the documentation +// and/or other materials provided with the distribution. +// Neither the name of the copyrightholder or one of the +// contributers to this source may be used to endorse or +// promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +// CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// If you use this source, please inform me, so I can keep +// track of how useful it really is. That would be very +// appreciated. +// +// The data distributed with this code is copyrighted by +// Fantasy Production, Erkrath, Germany, and *not* subject +// to the here given license. Distributing and using this +// data is granted by FanPro for the purpose of using +// computer driven tools for the role playing game "Das +// Schwarze Auge" / "The Dark Eye". Any other use is only +// allowed with prior written permission by FanPro. +//@-at +//@@c #ifdef MSVC -#pragma warning(disable:4786) +#pragma warning(disable:4786 4503) #endif -//@<< SpracheSchriftGUIwx #includes >> -//@+node:<< SpracheSchriftGUIwx #includes >> +//@-node:<< header >> +//@nl +//@<< includes >> +//@+node:<< includes >> #include "dsa/NDSAUtil.h" #include "dsa/SpracheSchrift.h" @@ -30,24 +85,23 @@ #include "wx/combobox.h" #include <set> -//@-node:<< SpracheSchriftGUIwx #includes >> +//@-node:<< includes >> //@nl -//@<< SpracheSchriftGUIwx declarations >> -//@+node:<< SpracheSchriftGUIwx declarations >> - +//@<< filename >> +//@+node:<< filename >> #ifdef _DEBUG #undef THIS_FILE static char THIS_FILE[]=__FILE__; -//@-node:<< SpracheSchriftGUIwx declarations >> -//@nl -//@+others -//@+node:SpracheGUIwx +//#define new DEBUG_NEW #endif -////////////////////////////////////////////////////////////////////// -// Konstruktion/Destruktion -////////////////////////////////////////////////////////////////////// +//@-node:<< filename >> +//@nl +//@+others +//@+node:SpracheGUIwx +//@+others +//@+node:Konstruktor SpracheGUIwx::SpracheGUIwx(wxWindow* parent) : MengeGUIwx<DSA::SpracheDefinitionen>(parent, DSA::sprachen()) { wxBoxSizer* allSizer = new wxBoxSizer(wxHORIZONTAL); @@ -58,13 +112,13 @@ wxBoxSizer* zeilenSizer = new wxBoxSizer(wxHORIZONTAL); zeilenSizer->Add(new wxStaticText(this, -1, _t("Sprachfamilie").c_str()), 0, wxALIGN_CENTER_VERTICAL); - familie_ = new wxComboBox(this, COMBOFAMILIE, "", wxDefaultPosition, wxDefaultSize, 0, 0, wxCB_DROPDOWN); + familie_ = new wxComboBox(this, COMBOFAMILIE, "", wxDefaultPosition, wxDefaultSize, 0, 0, wxCB_DROPDOWN | wxCB_READONLY); familie_->Clear(); std::set<std::string> familien; for (DSA::SpracheDefinitionen::iterator s = DSA::sprachen()->begin(); s != DSA::sprachen()->end(); ++s) familien.insert(s->second.Familie()); for (std::set<std::string>::iterator f = familien.begin(); f != familien.end(); ++f) - familie_->Append(f->c_str()); + familie_->Append(DSA::SpracheDefinitionen::Kriterium2Bezeichnung(*f).c_str()); zeilenSizer->Add(familie_, 1, wxEXPAND | wxLEFT, 10); rechtsSizer->Add(zeilenSizer, 0, wxEXPAND | wxLEFT | wxRIGHT | wxTOP, 10); @@ -114,14 +168,8 @@ Update(); } //@nonl -//@-node:SpracheGUIwx -//@+node:SpracheGUIwx -//@+at -//@nonl -// Konstruktor -//@-at -//@@c - +//@-node:Konstruktor +//@+node:Konstruktor klein SpracheGUIwx::SpracheGUIwx(wxWindow* parent, DSA::SpracheDefinition def) : MengeGUIwx<DSA::SpracheDefinitionen>(parent, def) { einzelText_->AppendText((_t("Sprachamilie") + ": " + def.Familie() + "\n\n").c_str()); @@ -130,15 +178,11 @@ einzelText_->AppendText(def.Beschreibung().c_str()); } //@nonl -//@-node:SpracheGUIwx +//@-node:Konstruktor klein //@+node:BEGIN_EVENT_TABLE -//@+at -//@nonl -// Konstruktor -//@-at -//@@c - BEGIN_EVENT_TABLE(SpracheGUIwx, wxFrame) + EVT_TOGGLEBUTTON (BTID, SpracheGUIwx::OnIDBtn) + EVT_TOGGLEBUTTON (BTBEZ, SpracheGUIwx::OnBezBtn) EVT_LISTBOX (IDLISTBOX, SpracheGUIwx::OnIDListboxSelect) EVT_BUTTON (BTLOESCHEN, SpracheGUIwx::OnLoeschenBtn) EVT_BUTTON (BTKOPIEREN, SpracheGUIwx::OnKopierenBtn) @@ -154,7 +198,8 @@ EVT_BUTTON (KOMPLEXITAETPLUS, SpracheGUIwx::OnKomplexitaetPlus) EVT_BUTTON (KOMPLEXITAETMINUS, SpracheGUIwx::OnKomplexitaetMinus) END_EVENT_TABLE() - +//@-node:BEGIN_EVENT_TABLE +//@+node:Update void SpracheGUIwx::Update() { if (!(objekt_.get())) return; @@ -163,8 +208,8 @@ for (DSA::SpracheDefinitionen::iterator s = DSA::sprachen()->begin(); s != DSA::sprachen()->end(); ++s) familien.insert(s->second.Familie()); for (std::set<std::string>::iterator f = familien.begin(); f != familien.end(); ++f) - familie_->Append(f->c_str()); - familie_->SetValue((objekt_->Familie()).c_str()); + familie_->Append(DSA::SpracheDefinitionen::Kriterium2Bezeichnung(*f).c_str()); + familie_->SetValue((DSA::SpracheDefinitionen::Kriterium2Bezeichnung(objekt_->Familie())).c_str()); komplexitaetWertText_->SetValue(strings::int2sStr(objekt_->Komplexitaet()).c_str()); skt_->SetSelection(skt_->FindString(DSA::SKTSpalteString(objekt_->SKTSpalte_()).c_str())); if (objekt_->Beschreibung() != "") @@ -175,18 +220,12 @@ UpdateTitel(); } //@nonl -//@-node:BEGIN_EVENT_TABLE +//@-node:Update //@+node:UpdateData -//@+at -//@nonl -// Update -//@-at -//@@c - void SpracheGUIwx::UpdateData() { if (!(objekt_.get())) return; - objekt_->Familie(familie_->GetValue().c_str()); + objekt_->Familie(DSA::SpracheDefinitionen::Bezeichnung2Kriterium(familie_->GetValue().c_str())); objekt_->Komplexitaet(strings::sStr2int(komplexitaetWertText_->GetValue().c_str())); objekt_->SKTSpalte_(DSA::SKTSpalteString(skt_->GetStringSelection().c_str())); if (beschreibung_->GetValue()!=wxString(_t("keine Beschreibung vorhanden").c_str())) @@ -194,25 +233,15 @@ } //@nonl //@-node:UpdateData +//@+node:Events +//@+others //@+node:OnUpdate -//@+at -//@nonl -// UpdateData -//@-at -//@@c - void SpracheGUIwx::OnUpdate (wxCommandEvent& WXUNUSED(event)) { Update(); } //@nonl //@-node:OnUpdate //@+node:OnUpdateData -//@+at -//@nonl -// OnUpdate -//@-at -//@@c - void SpracheGUIwx::OnUpdateData (wxCommandEvent& WXUNUSED(event)) { UpdateData(); } @@ -244,13 +273,15 @@ } //@nonl //@-node:OnKomplexitaetMinus -//@+node:SchriftGUIwx -//@+at +//@-others //@nonl -// OnKomplexitaetMinus -//@-at -//@@c - +//@-node:Events +//@-others +//@nonl +//@-node:SpracheGUIwx +//@+node:SchriftGUIwx +//@+others +//@+node:Konstruktor SchriftGUIwx::SchriftGUIwx(wxWindow* parent) : MengeGUIwx<DSA::SchriftDefinitionen>(parent, DSA::schriften()) { wxBoxSizer* allSizer = new wxBoxSizer(wxHORIZONTAL); @@ -292,7 +323,7 @@ SetAutoLayout(true); SetSizer(allSizer); allSizer->Fit(this); - SetSize(300, 200); + SetSize(350, 300); UpdateIDs(); @@ -304,14 +335,8 @@ Update(); } //@nonl -//@-node:SchriftGUIwx -//@+node:SchriftGUIwx -//@+at -//@nonl -// Konstruktor -//@-at -//@@c - +//@-node:Konstruktor +//@+node:Konstruktor klein SchriftGUIwx::SchriftGUIwx(wxWindow* parent, DSA::SchriftDefinition def) : MengeGUIwx<DSA::SchriftDefinitionen>(parent, def) { einzelText_->AppendText((_t("Komplexität") + ": " + strings::int2sStr(def.Komplexitaet()) + "\n\n").c_str()); @@ -319,15 +344,11 @@ einzelText_->AppendText(def.Beschreibung().c_str()); } //@nonl -//@-node:SchriftGUIwx +//@-node:Konstruktor klein //@+node:BEGIN_EVENT_TABLE -//@+at -//@nonl -// Konstruktor -//@-at -//@@c - BEGIN_EVENT_TABLE(SchriftGUIwx, wxFrame) + EVT_TOGGLEBUTTON (BTID, SchriftGUIwx::OnIDBtn) + EVT_TOGGLEBUTTON (BTBEZ, SchriftGUIwx::OnBezBtn) EVT_LISTBOX (IDLISTBOX, SchriftGUIwx::OnIDListboxSelect) EVT_BUTTON (BTLOESCHEN, SchriftGUIwx::OnLoeschenBtn) EVT_BUTTON (BTKOPIEREN, SchriftGUIwx::OnKopierenBtn) @@ -341,7 +362,8 @@ EVT_BUTTON (KOMPLEXITAETPLUS, SchriftGUIwx::OnKomplexitaetPlus) EVT_BUTTON (KOMPLEXITAETMINUS, SchriftGUIwx::OnKomplexitaetMinus) END_EVENT_TABLE() - +//@-node:BEGIN_EVENT_TABLE +//@+node:Update void SchriftGUIwx::Update() { if (!(objekt_.get())) return; @@ -355,14 +377,8 @@ UpdateTitel(); } //@nonl -//@-node:BEGIN_EVENT_TABLE +//@-node:Update //@+node:UpdateData -//@+at -//@nonl -// Update -//@-at -//@@c - void SchriftGUIwx::UpdateData() { if (!(objekt_.get())) return; @@ -373,37 +389,21 @@ } //@nonl //@-node:UpdateData +//@+node:Events +//@+others //@+node:OnUpdate -//@+at -//@nonl -// UpdateData -//@-at -//@@c - void SchriftGUIwx::OnUpdate (wxCommandEvent& WXUNUSED(event)) { Update(); } //@nonl //@-node:OnUpdate //@+node:OnUpdateData -//@+at -//@nonl -// OnUpdate -//@-at -//@@c - void SchriftGUIwx::OnUpdateData (wxCommandEvent& WXUNUSED(event)) { UpdateData(); } //@nonl //@-node:OnUpdateData //@+node:OnKomplexitaetPlus -//@+at -//@nonl -// OnUpdateData -//@-at -//@@c - void SchriftGUIwx::OnKomplexitaetPlus (wxCommandEvent& WXUNUSED(event)) { objekt_->Komplexitaet(objekt_->Komplexitaet()+1); Update(); @@ -411,12 +411,6 @@ //@nonl //@-node:OnKomplexitaetPlus //@+node:OnKomplexitaetMinus -//@+at -//@nonl -// OnKomplexitaetPlus -//@-at -//@@c - void SchriftGUIwx::OnKomplexitaetMinus (wxCommandEvent& WXUNUSED(event)) { objekt_->Komplexitaet(objekt_->Komplexitaet()-1); Update(); @@ -424,9 +418,24 @@ //@nonl //@-node:OnKomplexitaetMinus //@-others - // OnKomplexitaetMinus +//@nonl +//@-node:Events +//@-others +//@nonl +//@-node:SchriftGUIwx +//@-others +//@<< Version History >> +//@+node:<< Version History >> // $Log$ +// Revision 1.8 2004/10/17 19:12:42 vrandezo +// IDs und Bezeichner getrennt - I18N vorbereitet +// ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. +// Aber Entwicklung ohne CVS wird mir zu doof. +// Vorsicht vor allem mit Helden und RKP. +// Tausend Kleinigkeiten geaendert. +// Neue Datensaetze in basis.xdi. +// // Revision 1.7 2004/06/25 16:12:26 twel // wxListBox::Number() ersetzt durch GetCount() (deprecated) // @@ -470,5 +479,8 @@ // SpracheGUIwx hinzugefügt // SortierteMenge erweitert um Zeige // +//@nonl +//@-node:<< Version History >> +//@nl //@-node:@file SpracheSchriftGUIwx.cpp //@-leo Index: ProfessionGUIwx.h =================================================================== RCS file: /cvsroot/darkeyetool/det/src/gui/ProfessionGUIwx.h,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- ProfessionGUIwx.h 12 Apr 2004 23:16:28 -0000 1.12 +++ ProfessionGUIwx.h 17 Oct 2004 19:12:42 -0000 1.13 @@ -12,15 +12,62 @@ //@<< header >> //@+node:<< header >> //@+at -// The content of this file is subject to the license -// given in license.txt +// Copyright (c) 2002-2004, Zdenko Denny Vrandecic and +// contributors. +// All rights reserved. +// (The license follows closely the new +// BSD-OpenSource-License) +// +// Redistribution and use in source and binary forms, with +// or without +// modification, are permitted provided that the following +// conditions are met: +// Redistributions of source code must retain the above +// copyright notice, this list of conditions and the +// following disclaimer. +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the +// following disclaimer in the documentation +// and/or other materials provided with the distribution. +// Neither the name of the copyrightholder or one of the +// contributers to this source may be used to endorse or +// promote products derived from this software without +// specific prior written permission. // +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +// CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// If you use this source, please inform me, so I can keep +// track of how useful it really is. That would be very +// appreciated. +// +// The data distributed with this code is copyrighted by +// Fantasy Production, Erkrath, Germany, and *not* subject +// to the here given license. Distributing and using this +// data is granted by FanPro for the purpose of using +// computer driven tools for the role playing game "Das +// Schwarze Auge" / "The Dark Eye". Any other use is only +// allowed with prior written permission by FanPro. //@-at //@@c #ifdef MSVC #pragma warning(disable:4786 4503) #endif + //@-node:<< header >> //@nl @@ -118,6 +165,14 @@ //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.13 2004/10/17 19:12:42 vrandezo +// IDs und Bezeichner getrennt - I18N vorbereitet +// ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. +// Aber Entwicklung ohne CVS wird mir zu doof. +// Vorsicht vor allem mit Helden und RKP. +// Tausend Kleinigkeiten geaendert. +// Neue Datensaetze in basis.xdi. +// // Revision 1.12 2004/04/12 23:16:28 vrandezo // Professionen fuehren bekannte Zaubersprueche mit // Index: RasseGUIwx.cpp =================================================================== RCS file: /cvsroot/darkeyetool/det/src/gui/RasseGUIwx.cpp,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- RasseGUIwx.cpp 25 Jun 2004 16:12:26 -0000 1.17 +++ RasseGUIwx.cpp 17 Oct 2004 19:12:42 -0000 1.18 @@ -12,15 +12,62 @@ //@<< header >> //@+node:<< header >> //@+at -// The content of this file is subject to the license -// given in license.txt +// Copyright (c) 2002-2004, Zdenko Denny Vrandecic and +// contributors. +// All rights reserved. +// (The license follows closely the new +// BSD-OpenSource-License) +// +// Redistribution and use in source and binary forms, with +// or without +// modification, are permitted provided that the following +// conditions are met: +// Redistributions of source code must retain the above +// copyright notice, this list of conditions and the +// following disclaimer. +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the +// following disclaimer in the documentation +// and/or other materials provided with the distribution. +// Neither the name of the copyrightholder or one of the +// contributers to this source may be used to endorse or +// promote products derived from this software without +// specific prior written permission. // +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +// CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE ARE DISCLAIMED. +// IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +// BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// If you use this source, please inform me, so I can keep +// track of how useful it really is. That would be very +// appreciated. +// +// The data distributed with this code is copyrighted by +// Fantasy Production, Erkrath, Germany, and *not* subject +// to the here given license. Distributing and using this +// data is granted by FanPro for the purpose of using +// computer driven tools for the role playing game "Das +// Schwarze Auge" / "The Dark Eye". Any other use is only +// allowed with prior written permission by FanPro. //@-at //@@c #ifdef MSVC #pragma warning(disable:4786 4503) #endif + //@-node:<< header >> //@nl @@ -67,7 +114,7 @@ if (idListe_->GetCount()>0) { idListe_->SetSelection(0); std::auto_ptr<DSA::RasseDefinition> r(new DSA::RasseDefinition - (DSA::rassen()->find(idListe_->GetStringSelection().c_str())->second)); + (DSA::rassen()->find(DSA::rassen()->Finde(idListe_->GetStringSelection().c_str()))->second)); objekt_ = r; } else { std::auto_ptr<DSA::RasseDefinition> r(new DSA::RasseDefinition()); @@ -384,39 +431,41 @@ //@+others //@+node:BEGIN_EVENT_TABLE BEGIN_EVENT_TABLE(RasseGUIwx, wxFrame) - EVT_LISTBOX (IDLISTBOX, RasseGUIwx::OnIDListboxSelect) + EVT_LISTBOX (IDLISTBOX, RasseGUIwx::OnIDListboxSelect) EVT_TEXT (SPEZIES, RasseGUIwx::OnSpezies) - EVT_COMBOBOX(SPEZIES, RasseGUIwx::OnSpezies) - EVT_BUTTON (BTKOPIEREN, RasseGUIwx::OnKopierenBtn) + EVT_COMBOBOX(SPEZIES, RasseGUIwx::OnSpezies) + EVT_TOGGLEBUTTON(BTID, RasseGUIwx::OnIDBtn) + EVT_TOGGLEBUTTON(BTBEZ, RasseGUIwx::OnBezBtn) + EVT_BUTTON (BTKOPIEREN, RasseGUIwx::OnKopierenBtn) EVT_BUTTON (BTLOESCHEN, RasseGUIwx::OnLoeschenBtn) - EVT_BUTTON (BTNEU, RasseGUIwx::OnNeuBtn) - EVT_BUTTON (BTUMBENENNEN, RasseGUIwx::OnUmbenennenBtn) - EVT_BUTTON (BTUEBERNEHMEN, RasseGUIwx::OnUebernehmenBtn) - EVT_BUTTON (BTZURUECKSETZEN, RasseGUIwx::OnZuruecksetzenBtn) + EVT_BUTTON (BTNEU, RasseGUIwx::OnNeuBtn) + EVT_BUTTON (BTUMBENENNEN, RasseGUIwx::OnUmbenennenBtn) + EVT_BUTTON (BTUEBERNEHMEN, RasseGUIwx::OnUebernehmenBtn) + EVT_BUTTON (BTZURUECKSETZEN, RasseGUIwx::OnZuruecksetzenBtn) EVT_TEXT (VARIANTE, RasseGUIwx::OnVariante) EVT_COMBOBOX(GESCHLECHT, RasseGUIwx::OnGeschlecht) - EVT_BUTTON (MODPLUS, RasseGUIwx::OnModPlus) - EVT_BUTTON (MODMINUS, RasseGUIwx::OnModMinus) - EVT_BUTTON (MODHINZU, RasseGUIwx::OnModHinzu) - EVT_BUTTON (MODWEG, RasseGUIwx::OnModWeg) + EVT_BUTTON (MODPLUS, RasseGUIwx::OnModPlus) + EVT_BUTTON (MODMINUS, RasseGUIwx::OnModMinus) + EVT_BUTTON (MODHINZU, RasseGUIwx::OnModHinzu) + EVT_BUTTON (MODWEG, RasseGUIwx::OnModWeg) EVT_LISTBOX_DCLICK(MOD, RasseGUIwx::OnMod) EVT_LISTBOX_DCLICK(MODGESAMT, RasseGUIwx::OnModGesamt) - EVT_BUTTON (VORPLUS, RasseGUIwx::OnVorPlus) - EVT_BUTTON (VORMINUS, RasseGUIwx::OnVorMinus) - EVT_BUTTON (VORHINZU, RasseGUIwx::OnVorHinzu) - EVT_BUTTON (VORWEG, RasseGUIwx::OnVorWeg) + EVT_BUTTON (VORPLUS, RasseGUIwx::OnVorPlus) + EVT_BUTTON (VORMINUS, RasseGUIwx::OnVorMinus) + EVT_BUTTON (VORHINZU, RasseGUIwx::OnVorHinzu) + EVT_BUTTON (VORWEG, RasseGUIwx::OnVorWeg) EVT_LISTBOX_DCLICK(VOR, RasseGUIwx::OnVor) EVT_LISTBOX_DCLICK(VORGESAMT, RasseGUIwx::OnVorGesamt) - EVT_BUTTON (TALPLUS, RasseGUIwx::OnTalPlus) - EVT_BUTTON (TALMINUS, RasseGUIwx::OnTalMinus) - EVT_BUTTON (TALPLUSDIREKT, RasseGUIwx::OnTalPlusDirekt) - EVT_BUTTON (TALMINUSDIREKT, RasseGUIwx::OnTalMinusDirekt) - EVT_BUTTON (TALMODHINZU, RasseGUIwx::OnTalModHinzu) - EVT_BUTTON (TALMODWEG, RasseGUIwx::OnTalModWeg) - EVT_BUTTON (TALWERTHINZU, RasseGUIwx::OnTalWertHinzu) - EVT_BUTTON (TALWERTWEG, RasseGUIwx::OnTalWertWeg) - EVT_BUTTON (TALAUSWAHLHINZU, RasseGUIwx::OnTalAuswahlHinzu) - EVT_BUTTON (TALAUSWAHLWEG, RasseGUIwx::OnTalAuswahlWeg) + EVT_BUTTON (TALPLUS, RasseGUIwx::OnTalPlus) + EVT_BUTTON (TALMINUS, RasseGUIwx::OnTalMinus) + EVT_BUTTON (TALPLUSDIREKT, RasseGUIwx::OnTalPlusDirekt) + EVT_BUTTON (TALMINUSDIREKT, RasseGUIwx::OnTalMinusDirekt) + EVT_BUTTON (TALMODHINZU, RasseGUIwx::OnTalModHinzu) + EVT_BUTTON (TALMODWEG, RasseGUIwx::OnTalModWeg) + EVT_BUTTON (TALWERTHINZU, RasseGUIwx::OnTalWertHinzu) + EVT_BUTTON (TALWERTWEG, RasseGUIwx::OnTalWertWeg) + EVT_BUTTON (TALAUSWAHLHINZU, RasseGUIwx::OnTalAuswahlHinzu) + EVT_BUTTON (TALAUSWAHLWEG, RasseGUIwx::OnTalAuswahlWeg) EVT_RADIOBOX(TALOPTIONEN, RasseGUIwx::OnTalOptionen) EVT_LISTBOX (TALMOD, RasseGUIwx::OnTalMod) EVT_LISTBOX_DCLICK(TALMOD, RasseGUIwx::OnTalModD) @@ -446,37 +495,37 @@ EVT_LISTBOX_DCLICK(SFLISTE, RasseGUIwx::OnSFListeD) EVT_LISTBOX_DCLICK(MSFLISTE, RasseGUIwx::OnMSFListeD) EVT_LISTBOX_DCLICK(VSFLISTE, RasseGUIwx::OnVSFListeD) - EVT_BUTTON (GPPLUS, RasseGUIwx::OnGPPlus) - EVT_BUTTON (GPMINUS, RasseGUIwx::OnGPMinus) - EVT_BUTTON (GPRECHNEN, RasseGUIwx::OnGPRechnen) + EVT_BUTTON (GPPLUS, RasseGUIwx::OnGPPlus) + EVT_BUTTON (GPMINUS, RasseGUIwx::OnGPMinus) + EVT_BUTTON (GPRECHNEN, RasseGUIwx::OnGPRechnen) EVT_BUTTON (VPZEIGEN, RasseGUIwx::OnVPZeigen) - EVT_BUTTON (BTSCHLIESSEN, RasseGUIwx::OnSchliessenBtn) - EVT_BUTTON (MKHINZU, RasseGUIwx::OnMKHinzu) - EVT_BUTTON (MKWEG, RasseGUIwx::OnMKWeg) - EVT_BUTTON (UKHINZU, RasseGUIwx::OnUKHinzu) - EVT_BUTTON (UKWEG, RasseGUIwx::OnUKWeg) + EVT_BUTTON (BTSCHLIESSEN, RasseGUIwx::OnSchliessenBtn) + EVT_BUTTON (MKHINZU, RasseGUIwx::OnMKHinzu) + EVT_BUTTON (MKWEG, RasseGUIwx::OnMKWeg) + EVT_BUTTON (UKHINZU, RasseGUIwx::OnUKHinzu) + EVT_BUTTON (UKWEG, RasseGUIwx::OnUKWeg) EVT_LISTBOX_DCLICK(SAEMTLICHEKULTUREN,RasseGUIwx::OnUKHinzu) EVT_LISTBOX_DCLICK(MOEGLICHEKULTUREN,RasseGUIwx::OnMKWeg) EVT_LISTBOX_DCLICK(UEBLICHEKULTUREN,RasseGUIwx::OnUKWeg) EVT_CHECKBOX(KEINEVARIANTEN, RasseGUIwx::OnKeineVarianten) - EVT_BUTTON (AUGENFARBEHINZU, RasseGUIwx::OnAugenfarbeHinzu) - EVT_BUTTON (AUGENFARBEWEG, RasseGUIwx::OnAugenfarbeWeg) - EVT_BUTTON (HAUPTFARBEWEG, RasseGUIwx::OnHauptfarbeWeg) - EVT_BUTTON (HAUPTFARBEHINZU, RasseGUIwx::OnHauptfarbeHinzu) - EVT_BUTTON (GROESSEPLUS, RasseGUIwx::OnGroessePlus) - EVT_BUTTON (GROESSEMINUS, RasseGUIwx::OnGroesseMinus) - EVT_BUTTON (GROESSEW6PLUS, RasseGUIwx::OnGroesseW6Plus) - EVT_BUTTON (GROESSEW6MINUS, RasseGUIwx::OnGroesseW6Minus) - EVT_BUTTON (GROESSEW20PLUS, RasseGUIwx::OnGroesseW20Plus) - EVT_BUTTON (GROESSEW20MINUS, RasseGUIwx::OnGroesseW20Minus) - EVT_BUTTON (ALTERPLUS, RasseGUIwx::OnAlterPlus) - EVT_BUTTON (ALTERMINUS, RasseGUIwx::OnAlterMinus) - EVT_BUTTON (ALTERW6PLUS, RasseGUIwx::OnAlterW6Plus) - EVT_BUTTON (ALTERW6MINUS, RasseGUIwx::OnAlterW6Minus) - EVT_BUTTON (ALTERW3PLUS, RasseGUIwx::OnAlterW3Plus) - EVT_BUTTON (ALTERW3MINUS, RasseGUIwx::OnAlterW3Minus) - EVT_BUTTON (GEWICHTPLUS, RasseGUIwx::OnGewichtPlus) - EVT_BUTTON (GEWICHTMINUS, RasseGUIwx::OnGewichtMinus) + EVT_BUTTON (AUGENFARBEHINZU, RasseGUIwx::OnAugenfarbeHinzu) + EVT_BUTTON (AUGENFARBEWEG, RasseGUIwx::OnAugenfarbeWeg) + EVT_BUTTON (HAUPTFARBEWEG, RasseGUIwx::OnHauptfarbeWeg) + EVT_BUTTON (HAUPTFARBEHINZU, RasseGUIwx::OnHauptfarbeHinzu) + EVT_BUTTON (GROESSEPLUS, RasseGUIwx::OnGroessePlus) + EVT_BUTTON (GROESSEMINUS, RasseGUIwx::OnGroesseMinus) + EVT_BUTTON (GROESSEW6PLUS, RasseGUIwx::OnGroesseW6Plus) + EVT_BUTTON (GROESSEW6MINUS, RasseGUIwx::OnGroesseW6Minus) + EVT_BUTTON (GROESSEW20PLUS, RasseGUIwx::OnGroesseW20Plus) + EVT_BUTTON (GROESSEW20MINUS, RasseGUIwx::OnGroesseW20Minus) + EVT_BUTTON (ALTERPLUS, RasseGUIwx::OnAlterPlus) + EVT_BUTTON (ALTERMINUS, RasseGUIwx::OnAlterMinus) + EVT_BUTTON (ALTERW6PLUS, RasseGUIwx::OnAlterW6Plus) + EVT_BUTTON (ALTERW6MINUS, RasseGUIwx::OnAlterW6Minus) + EVT_BUTTON (ALTERW3PLUS, RasseGUIwx::OnAlterW3Plus) + EVT_BUTTON (ALTERW3MINUS, RasseGUIwx::OnAlterW3Minus) + EVT_BUTTON (GEWICHTPLUS, RasseGUIwx::OnGewichtPlus) + EVT_BUTTON (GEWICHTMINUS, RasseGUIwx::OnGewichtMinus) EVT_TEXT (TEXTBESCHREIBUNG, RasseGUIwx::OnBeschreibung) END_EVENT_TABLE() //@nonl @@ -727,6 +776,14 @@ //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.18 2004/10/17 19:12:42 vrandezo +// IDs und Bezeichner getrennt - I18N vorbereitet +// ACHTUNG! Daten sichern. Das Programm ist noch reichlich fehlerhaft. +// Aber Entwicklung ohne CVS wird mir zu doof. +// Vorsicht vor allem mit Helden und RKP. +// Tausend K... [truncated message content] |
|
From: Jochen S. <jos...@us...> - 2004-09-29 00:54:14
|
Update of /cvsroot/darkeyetool/det/src/dsa In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30997/src/dsa Modified Files: NDSAUtil.cpp Log Message: Index: NDSAUtil.cpp =================================================================== RCS file: /cvsroot/darkeyetool/det/src/dsa/NDSAUtil.cpp,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- NDSAUtil.cpp 28 Sep 2004 23:33:39 -0000 1.14 +++ NDSAUtil.cpp 29 Sep 2004 00:54:01 -0000 1.15 @@ -57,7 +57,7 @@ std::string strings::int2sStr(int i, bool PlusVorzeichen) { std::ostringstream s; - if (PlusVorzeichen) s << std::ostream::showpos; + if (PlusVorzeichen) s << std::showpos; s << i; return s.str(); } @@ -124,6 +124,9 @@ //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.15 2004/09/29 00:54:01 josch1710 +// *** empty log message *** +// // Revision 1.14 2004/09/28 23:33:39 josch1710 // Habe ostream eingef?gt, damit showpos richtig referenziert wird. // |
|
From: Jochen S. <jos...@us...> - 2004-09-28 23:33:50
|
Update of /cvsroot/darkeyetool/det/src/dsa In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14073/src/dsa Modified Files: NDSAUtil.cpp Log Message: Habe ostream eingef?gt, damit showpos richtig referenziert wird. Index: NDSAUtil.cpp =================================================================== RCS file: /cvsroot/darkeyetool/det/src/dsa/NDSAUtil.cpp,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- NDSAUtil.cpp 1 May 2004 08:26:19 -0000 1.13 +++ NDSAUtil.cpp 28 Sep 2004 23:33:39 -0000 1.14 @@ -57,7 +57,7 @@ std::string strings::int2sStr(int i, bool PlusVorzeichen) { std::ostringstream s; - if (PlusVorzeichen) s << std::showpos; + if (PlusVorzeichen) s << std::ostream::showpos; s << i; return s.str(); } @@ -124,6 +124,9 @@ //@<< Version History >> //@+node:<< Version History >> // $Log$ +// Revision 1.14 2004/09/28 23:33:39 josch1710 +// Habe ostream eingef?gt, damit showpos richtig referenziert wird. +// // Revision 1.13 2004/05/01 08:26:19 dertron // "sprintf()" ersetzt durch einen "ostringstream" // |
|
From: Tron <de...@us...> - 2004-07-26 07:11:07
|
Update of /cvsroot/darkeyetool/det/output In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12566 Modified Files: vorlage.txt Log Message: s/Talenspiegel/Talentspiegel/ Index: vorlage.txt =================================================================== RCS file: /cvsroot/darkeyetool/det/output/vorlage.txt,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- vorlage.txt 7 Apr 2004 14:23:08 -0000 1.1 +++ vorlage.txt 26 Jul 2004 07:10:54 -0000 1.2 @@ -17,6 +17,6 @@ Nachteile: !ntl! -Talenspiegel: !ktl!, !tal!, !spl!, !scl! +Talentspiegel: !ktl!, !tal!, !spl!, !scl! |
|
From: Tron <de...@us...> - 2004-07-26 07:01:51
|
Update of /cvsroot/darkeyetool/CVSROOT In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11379 Modified Files: loginfo Log Message: Umstellung auf "unified diffs" Index: loginfo =================================================================== RCS file: /cvsroot/darkeyetool/CVSROOT/loginfo,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** loginfo 26 Jul 2004 07:00:58 -0000 1.3 --- loginfo 26 Jul 2004 07:01:42 -0000 1.4 *************** *** 25,28 **** # or #DEFAULT (echo ""; id; echo %{sVv}; date; cat) >> $CVSROOT/CVSROOT/commitlog ! DEFAULT /cvsroot/sitedocs/CVSROOT/cvstools/syncmail %{sVv} dar...@li... --- 25,28 ---- # or #DEFAULT (echo ""; id; echo %{sVv}; date; cat) >> $CVSROOT/CVSROOT/commitlog ! DEFAULT /cvsroot/sitedocs/CVSROOT/cvstools/syncmail -u %{sVv} dar...@li... |
|
From: Tron <de...@us...> - 2004-07-26 07:01:07
|
Update of /cvsroot/darkeyetool/CVSROOT In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11223 Modified Files: loginfo Log Message: Entfernung aller ^M Index: loginfo =================================================================== RCS file: /cvsroot/darkeyetool/CVSROOT/loginfo,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** loginfo 1 Jan 2004 18:56:59 -0000 1.2 --- loginfo 26 Jul 2004 07:00:58 -0000 1.3 *************** *** 1,28 **** ! # The "loginfo" file controls where "cvs commit" log information ! # is sent. The first entry on a line is a regular expression which must match ! # the directory that the change is being made to, relative to the ! # $CVSROOT. If a match is found, then the remainder of the line is a filter ! # program that should expect log information on its standard input. ! # ! # If the repository name does not match any of the regular expressions in this ! # file, the "DEFAULT" line is used, if it is specified. ! # ! # If the name ALL appears as a regular expression it is always used ! # in addition to the first matching regex or DEFAULT. ! # ! # You may specify a format string as part of the ! # filter. The string is composed of a `%' followed ! # by a single format character, or followed by a set of format ! # characters surrounded by `{' and `}' as separators. The format ! # characters are: ! # ! # s = file name ! # V = old version number (pre-checkin) ! # v = new version number (post-checkin) ! # ! # For example: ! #DEFAULT (echo ""; id; echo %s; date; cat) >> $CVSROOT/CVSROOT/commitlog ! # or ! #DEFAULT (echo ""; id; echo %{sVv}; date; cat) >> $CVSROOT/CVSROOT/commitlog ! DEFAULT /cvsroot/sitedocs/CVSROOT/cvstools/syncmail %{sVv} dar...@li... ! --- 1,28 ---- ! # The "loginfo" file controls where "cvs commit" log information ! # is sent. The first entry on a line is a regular expression which must match ! # the directory that the change is being made to, relative to the ! # $CVSROOT. If a match is found, then the remainder of the line is a filter ! # program that should expect log information on its standard input. ! # ! # If the repository name does not match any of the regular expressions in this ! # file, the "DEFAULT" line is used, if it is specified. ! # ! # If the name ALL appears as a regular expression it is always used ! # in addition to the first matching regex or DEFAULT. ! # ! # You may specify a format string as part of the ! # filter. The string is composed of a `%' followed ! # by a single format character, or followed by a set of format ! # characters surrounded by `{' and `}' as separators. The format ! # characters are: ! # ! # s = file name ! # V = old version number (pre-checkin) ! # v = new version number (post-checkin) ! # ! # For example: ! #DEFAULT (echo ""; id; echo %s; date; cat) >> $CVSROOT/CVSROOT/commitlog ! # or ! #DEFAULT (echo ""; id; echo %{sVv}; date; cat) >> $CVSROOT/CVSROOT/commitlog ! DEFAULT /cvsroot/sitedocs/CVSROOT/cvstools/syncmail %{sVv} dar...@li... ! |
|
From: Denny V. <vra...@us...> - 2004-07-17 09:00:22
|
Update of /cvsroot/darkeyetool/det/src/gui In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31380 Modified Files: PersonGUIwx.cpp Log Message: && durch und ersetzt Index: PersonGUIwx.cpp =================================================================== RCS file: /cvsroot/darkeyetool/det/src/gui/PersonGUIwx.cpp,v retrieving revision 1.64 retrieving revision 1.65 diff -C2 -d -r1.64 -r1.65 *** PersonGUIwx.cpp 12 Jul 2004 16:24:26 -0000 1.64 --- PersonGUIwx.cpp 17 Jul 2004 09:00:13 -0000 1.65 *************** *** 113,117 **** notebook_->AddPage(MacheKompaktPanel(notebook_), _t("Kompakt").c_str()); notebook_->AddPage(MacheBasisPanel(notebook_), _t("Basiswerte").c_str()); ! notebook_->AddPage(MacheCharSFPanel(notebook_), _t("Vor-/Nachteile && SF").c_str()); notebook_->AddPage(MacheTalentPanel(notebook_), _t("Talente").c_str()); notebook_->AddPage(MacheKampfPanel(notebook_), _t("Kampf").c_str()); --- 113,117 ---- notebook_->AddPage(MacheKompaktPanel(notebook_), _t("Kompakt").c_str()); notebook_->AddPage(MacheBasisPanel(notebook_), _t("Basiswerte").c_str()); ! notebook_->AddPage(MacheCharSFPanel(notebook_), _t("Vor-/Nachteile und SF").c_str()); notebook_->AddPage(MacheTalentPanel(notebook_), _t("Talente").c_str()); notebook_->AddPage(MacheKampfPanel(notebook_), _t("Kampf").c_str()); *************** *** 3816,3819 **** --- 3816,3822 ---- //@+node:<< Version History >> // $Log$ + // Revision 1.65 2004/07/17 09:00:13 vrandezo + // && durch und ersetzt + // // Revision 1.64 2004/07/12 16:24:26 twel // wxCommandEvent geändert zu wxNotebookEvent (wegen wxGTK 2.5.2) |
|
From: Twelwan <tw...@us...> - 2004-07-13 19:00:01
|
Update of /cvsroot/darkeyetool/det/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14374/src Modified Files: Update.cpp Log Message: nur ein Test Index: Update.cpp =================================================================== RCS file: /cvsroot/darkeyetool/det/src/Update.cpp,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** Update.cpp 28 Nov 2003 16:45:03 -0000 1.6 --- Update.cpp 13 Jul 2004 18:59:52 -0000 1.7 *************** *** 54,58 **** //@+node:Commit int Update::Commit(DSA::PersistenzManager* pm) { ! Log::Info(_t("Datenversion wird überprüft.")); std::string ver = pm->Version(); if (ver=="1.00") { --- 54,58 ---- //@+node:Commit int Update::Commit(DSA::PersistenzManager* pm) { ! Log::Info(_t("Datenversion wird überprüft.")); std::string ver = pm->Version(); if (ver=="1.00") { *************** *** 139,142 **** --- 139,145 ---- //@+node:<< Version History >> // $Log$ + // Revision 1.7 2004/07/13 18:59:52 twel + // nur ein Test + // // Revision 1.6 2003/11/28 16:45:03 vrandezo // Zeilenvorlauf am Dateiende (Warnung bei gcc) |
|
From: Twelwan <tw...@us...> - 2004-07-12 16:24:35
|
Update of /cvsroot/darkeyetool/det/src/gui In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21361/src/gui Modified Files: PersonGUIwx.cpp PersonGUIwx.h Log Message: wxCommandEvent geändert zu wxNotebookEvent (wegen wxGTK 2.5.2) Index: PersonGUIwx.h =================================================================== RCS file: /cvsroot/darkeyetool/det/src/gui/PersonGUIwx.h,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -d -r1.23 -r1.24 *** PersonGUIwx.h 13 Apr 2004 17:37:42 -0000 1.23 --- PersonGUIwx.h 12 Jul 2004 16:24:27 -0000 1.24 *************** *** 30,35 **** //@+node:<< includes >> #include "MengeGUIwx.h" ! #include "wx/grid.h" ! #include "dsa/NDSABasis.h" --- 30,35 ---- //@+node:<< includes >> #include "MengeGUIwx.h" ! #include <wx/grid.h> ! #include <wx/notebook.h> #include "dsa/NDSABasis.h" *************** *** 455,459 **** void OnGroesseWurf (wxCommandEvent& event); void OnAlterWurf (wxCommandEvent& event); ! void OnUpdate (wxCommandEvent& event); void OnGeschlecht (wxCommandEvent& event); //@nonl --- 455,459 ---- void OnGroesseWurf (wxCommandEvent& event); void OnAlterWurf (wxCommandEvent& event); ! void OnUpdate (wxNotebookEvent& event); void OnGeschlecht (wxCommandEvent& event); //@nonl *************** *** 472,475 **** --- 472,478 ---- //@+node:<< Version History >> // $Log$ + // Revision 1.24 2004/07/12 16:24:27 twel + // wxCommandEvent geändert zu wxNotebookEvent (wegen wxGTK 2.5.2) + // // Revision 1.23 2004/04/13 17:37:42 twel // wxTextCtrl ein paar mal durch wxStaticText ersetzt, für besseren Look in Linux Index: PersonGUIwx.cpp =================================================================== RCS file: /cvsroot/darkeyetool/det/src/gui/PersonGUIwx.cpp,v retrieving revision 1.63 retrieving revision 1.64 diff -C2 -d -r1.63 -r1.64 *** PersonGUIwx.cpp 25 Jun 2004 16:12:26 -0000 1.63 --- PersonGUIwx.cpp 12 Jul 2004 16:24:26 -0000 1.64 *************** *** 2730,2734 **** //@-node:OnAlterWurf //@+node:OnUpdate ! void PersonGUIwx::OnUpdate(wxCommandEvent& WXUNUSED(event)) { Update(); } --- 2730,2734 ---- //@-node:OnAlterWurf //@+node:OnUpdate ! void PersonGUIwx::OnUpdate(wxNotebookEvent& WXUNUSED(event)) { Update(); } *************** *** 3816,3819 **** --- 3816,3822 ---- //@+node:<< Version History >> // $Log$ + // Revision 1.64 2004/07/12 16:24:26 twel + // wxCommandEvent geändert zu wxNotebookEvent (wegen wxGTK 2.5.2) + // // Revision 1.63 2004/06/25 16:12:26 twel // wxListBox::Number() ersetzt durch GetCount() (deprecated) |