From e4b057be300169c45e242b946b614311f71d3f70 Mon Sep 17 00:00:00 2001 From: scrawl Date: Tue, 1 May 2012 21:49:00 +0200 Subject: [PATCH 01/22] translated journal notification --- apps/openmw/mwdialogue/journal.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/openmw/mwdialogue/journal.cpp b/apps/openmw/mwdialogue/journal.cpp index e0245406e..eb828a76c 100644 --- a/apps/openmw/mwdialogue/journal.cpp +++ b/apps/openmw/mwdialogue/journal.cpp @@ -6,6 +6,8 @@ #include "../mwgui/window_manager.hpp" #include "../mwgui/messagebox.hpp" +#include "../mwworld/world.hpp" + namespace MWDialogue { Quest& Journal::getQuest (const std::string& id) @@ -38,7 +40,7 @@ namespace MWDialogue quest.addEntry (entry, *MWBase::Environment::get().getWorld()); // we are doing slicing on purpose here std::vector empty; - std::string notification = "Your Journal has been updated."; + std::string notification = MWBase::Environment::get().getWorld()->getStore().gameSettings.search("sJournalEntry")->str; MWBase::Environment::get().getWindowManager()->messageBox (notification, empty); } From dd8c66b479d9de8a508ba493d3fa70fbb38958c9 Mon Sep 17 00:00:00 2001 From: scrawl Date: Tue, 1 May 2012 21:54:30 +0200 Subject: [PATCH 02/22] notification when screenshot was taken --- apps/openmw/mwinput/inputmanager.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/apps/openmw/mwinput/inputmanager.cpp b/apps/openmw/mwinput/inputmanager.cpp index c2233f626..9786c6768 100644 --- a/apps/openmw/mwinput/inputmanager.cpp +++ b/apps/openmw/mwinput/inputmanager.cpp @@ -132,6 +132,9 @@ namespace MWInput void screenshot() { mEngine.screenshot(); + + std::vector empty; + windows.messageBox ("Screenshot saved", empty); } /* toggleInventory() is called when the user presses the button to toggle the inventory screen. */ From c0e12d0e56d5cadc6125bf46fb9072bb78f9b7df Mon Sep 17 00:00:00 2001 From: scrawl Date: Thu, 3 May 2012 01:11:49 +0200 Subject: [PATCH 03/22] class dialog fix --- apps/openmw/mwgui/charactercreation.cpp | 1 + apps/openmw/mwgui/class.cpp | 2 ++ 2 files changed, 3 insertions(+) diff --git a/apps/openmw/mwgui/charactercreation.cpp b/apps/openmw/mwgui/charactercreation.cpp index 9a2375855..446961a87 100644 --- a/apps/openmw/mwgui/charactercreation.cpp +++ b/apps/openmw/mwgui/charactercreation.cpp @@ -171,6 +171,7 @@ void CharacterCreation::spawnDialog(const char id) if (mCreateClassDialog) mWM->removeDialog(mCreateClassDialog); mCreateClassDialog = new CreateClassDialog(*mWM); + mCreateClassDialog->setNextButtonShow(mCreationStage >= CSE_ClassChosen); mCreateClassDialog->eventDone += MyGUI::newDelegate(this, &CharacterCreation::onCreateClassDialogDone); mCreateClassDialog->eventBack += MyGUI::newDelegate(this, &CharacterCreation::onCreateClassDialogBack); mCreateClassDialog->open(); diff --git a/apps/openmw/mwgui/class.cpp b/apps/openmw/mwgui/class.cpp index 9f1fc5d2a..e654f7c90 100644 --- a/apps/openmw/mwgui/class.cpp +++ b/apps/openmw/mwgui/class.cpp @@ -111,6 +111,7 @@ PickClassDialog::PickClassDialog(WindowManager& parWindowManager) MyGUI::ButtonPtr backButton; getWidget(backButton, "BackButton"); backButton->eventMouseButtonClick += MyGUI::newDelegate(this, &PickClassDialog::onBackClicked); + backButton->setCaption(mWindowManager.getGameSettingString("sBack", "")); MyGUI::ButtonPtr okButton; getWidget(okButton, "OKButton"); @@ -431,6 +432,7 @@ CreateClassDialog::CreateClassDialog(WindowManager& parWindowManager) MyGUI::ButtonPtr backButton; getWidget(backButton, "BackButton"); backButton->eventMouseButtonClick += MyGUI::newDelegate(this, &CreateClassDialog::onBackClicked); + backButton->setCaption(mWindowManager.getGameSettingString("sBack", "")); MyGUI::ButtonPtr okButton; getWidget(okButton, "OKButton"); From 0e6b82284fe0beab83a2bc769c133d66c7c605f2 Mon Sep 17 00:00:00 2001 From: scrawl Date: Thu, 3 May 2012 03:33:33 +0200 Subject: [PATCH 04/22] book & scroll windows --- apps/openmw/CMakeLists.txt | 2 +- apps/openmw/mwgui/bookwindow.cpp | 15 +++++++++++++++ apps/openmw/mwgui/bookwindow.hpp | 20 ++++++++++++++++++++ apps/openmw/mwgui/journalwindow.cpp | 7 ------- apps/openmw/mwgui/journalwindow.hpp | 9 --------- apps/openmw/mwgui/scrollwindow.cpp | 14 ++++++++++++++ apps/openmw/mwgui/scrollwindow.hpp | 19 +++++++++++++++++++ apps/openmw/mwgui/window_manager.cpp | 6 ++++++ apps/openmw/mwgui/window_manager.hpp | 4 ++++ files/mygui/CMakeLists.txt | 3 +++ files/mygui/core.xml | 1 + files/mygui/openmw_book_layout.xml | 20 ++++++++++++++++++++ files/mygui/openmw_journal_layout.xml | 7 ++----- files/mygui/openmw_journal_skin.xml | 6 +++--- files/mygui/openmw_scroll_layout.xml | 16 ++++++++++++++++ files/mygui/openmw_scroll_skin.xml | 15 +++++++++++++++ 16 files changed, 139 insertions(+), 25 deletions(-) create mode 100644 apps/openmw/mwgui/bookwindow.cpp create mode 100644 apps/openmw/mwgui/bookwindow.hpp create mode 100644 apps/openmw/mwgui/scrollwindow.cpp create mode 100644 apps/openmw/mwgui/scrollwindow.hpp create mode 100644 files/mygui/openmw_book_layout.xml create mode 100644 files/mygui/openmw_scroll_layout.xml create mode 100644 files/mygui/openmw_scroll_skin.xml diff --git a/apps/openmw/CMakeLists.txt b/apps/openmw/CMakeLists.txt index 79ea262e6..0fc841ce6 100644 --- a/apps/openmw/CMakeLists.txt +++ b/apps/openmw/CMakeLists.txt @@ -25,7 +25,7 @@ add_openmw_dir (mwinput add_openmw_dir (mwgui layouts text_input widgets race class birth review window_manager console dialogue dialogue_history window_base stats_window messagebox journalwindow charactercreation - map_window window_pinnable_base cursorreplace tooltips + map_window window_pinnable_base cursorreplace tooltips scrollwindow bookwindow ) add_openmw_dir (mwdialogue diff --git a/apps/openmw/mwgui/bookwindow.cpp b/apps/openmw/mwgui/bookwindow.cpp new file mode 100644 index 000000000..ce816a669 --- /dev/null +++ b/apps/openmw/mwgui/bookwindow.cpp @@ -0,0 +1,15 @@ +#include "bookwindow.hpp" + +using namespace MWGui; + +BookWindow::BookWindow(WindowManager& parWindowManager) : + WindowBase("openmw_book_layout.xml", parWindowManager) +{ + //setVisible(false); + center(); +} + +void BookWindow::open(MWWorld::Ptr book) +{ +} + diff --git a/apps/openmw/mwgui/bookwindow.hpp b/apps/openmw/mwgui/bookwindow.hpp new file mode 100644 index 000000000..57f45f017 --- /dev/null +++ b/apps/openmw/mwgui/bookwindow.hpp @@ -0,0 +1,20 @@ +#ifndef MWGUI_BOOKWINDOW_H +#define MWGUI_BOOKWINDOW_H + +#include "window_base.hpp" + +#include "../mwworld/ptr.hpp" + +namespace MWGui +{ + class BookWindow : public WindowBase + { + public: + BookWindow(WindowManager& parWindowManager); + void open(MWWorld::Ptr book); + }; + +} + +#endif + diff --git a/apps/openmw/mwgui/journalwindow.cpp b/apps/openmw/mwgui/journalwindow.cpp index e67eda777..4030911a0 100644 --- a/apps/openmw/mwgui/journalwindow.cpp +++ b/apps/openmw/mwgui/journalwindow.cpp @@ -109,9 +109,6 @@ MWGui::JournalWindow::JournalWindow (WindowManager& parWindowManager) //std::list list = formatText("OpenMW rgh dsfg sqef srg ZT uzql n ZLIEHRF LQSJH GLOIjf qjfmj hslkdgn jlkdjhg qlr isgli shli uhs fiuh qksf cg ksjnf lkqsnbf ksbf sbfkl zbf kuyzflkj sbgdfkj zlfh ozhjfmo hzmfh lizuf rty qzt ezy tkyEZT RYYJ DG fgh is an open-source implementation of the game engine found in the game Morrowind. This is a dumb test text msodjbg smojg smoig fiiinnn"); //std::list list = formatText(); //displayLeftText(list.front()); - - MyGUI::WindowPtr t = static_cast(mMainWidget); - t->eventWindowChangeCoord += MyGUI::newDelegate(this, &JournalWindow::onWindowResize); } void MWGui::JournalWindow::open() @@ -159,10 +156,6 @@ void MWGui::JournalWindow::open() } } -void MWGui::JournalWindow::onWindowResize(MyGUI::Window* window) -{ -} - void MWGui::JournalWindow::displayLeftText(std::string text) { mLeftTextWidget->eraseText(0,mLeftTextWidget->getTextLength()); diff --git a/apps/openmw/mwgui/journalwindow.hpp b/apps/openmw/mwgui/journalwindow.hpp index 4656c7a48..c5009d654 100644 --- a/apps/openmw/mwgui/journalwindow.hpp +++ b/apps/openmw/mwgui/journalwindow.hpp @@ -19,15 +19,6 @@ namespace MWGui void open(); private: - enum ColorStyle - { - CS_Sub, - CS_Normal, - CS_Super - }; - - void onWindowResize(MyGUI::Window* window); - void displayLeftText(std::string text); void displayRightText(std::string text); diff --git a/apps/openmw/mwgui/scrollwindow.cpp b/apps/openmw/mwgui/scrollwindow.cpp new file mode 100644 index 000000000..ab4065e41 --- /dev/null +++ b/apps/openmw/mwgui/scrollwindow.cpp @@ -0,0 +1,14 @@ +#include "scrollwindow.hpp" + +using namespace MWGui; + +ScrollWindow::ScrollWindow(WindowManager& parWindowManager) : + WindowBase("openmw_scroll_layout.xml", parWindowManager) +{ + setVisible(false); + center(); +} + +void ScrollWindow::open(MWWorld::Ptr scroll) +{ +} diff --git a/apps/openmw/mwgui/scrollwindow.hpp b/apps/openmw/mwgui/scrollwindow.hpp new file mode 100644 index 000000000..d7f5cd686 --- /dev/null +++ b/apps/openmw/mwgui/scrollwindow.hpp @@ -0,0 +1,19 @@ +#ifndef MWGUI_SCROLLWINDOW_H +#define MWGUI_SCROLLWINDOW_H + +#include "window_base.hpp" + +#include "../mwworld/ptr.hpp" + +namespace MWGui +{ + class ScrollWindow : public WindowBase + { + public: + ScrollWindow(WindowManager& parWindowManager); + void open(MWWorld::Ptr scroll); + }; + +} + +#endif diff --git a/apps/openmw/mwgui/window_manager.cpp b/apps/openmw/mwgui/window_manager.cpp index 0f2df53e1..40fc9308d 100644 --- a/apps/openmw/mwgui/window_manager.cpp +++ b/apps/openmw/mwgui/window_manager.cpp @@ -8,6 +8,8 @@ #include "stats_window.hpp" #include "messagebox.hpp" #include "tooltips.hpp" +#include "scrollwindow.hpp" +#include "bookwindow.hpp" #include "../mwmechanics/mechanicsmanager.hpp" #include "../mwinput/inputmanager.hpp" @@ -37,6 +39,8 @@ WindowManager::WindowManager( , mMessageBoxManager(NULL) , console(NULL) , mJournal(NULL) + , mBookWindow(NULL) + , mScrollWindow(NULL) , dialogueWindow(nullptr) , mCharGen(NULL) , playerClass() @@ -84,6 +88,8 @@ WindowManager::WindowManager( mMessageBoxManager = new MessageBoxManager(this); dialogueWindow = new DialogueWindow(*this); mToolTips = new ToolTips(this); + mScrollWindow = new ScrollWindow(*this); + mBookWindow = new BookWindow(*this); // The HUD is always on hud->setVisible(true); diff --git a/apps/openmw/mwgui/window_manager.hpp b/apps/openmw/mwgui/window_manager.hpp index f96660715..13da6c7f0 100644 --- a/apps/openmw/mwgui/window_manager.hpp +++ b/apps/openmw/mwgui/window_manager.hpp @@ -62,6 +62,8 @@ namespace MWGui class JournalWindow; class CharacterCreation; class ToolTips; + class ScrollWindow; + class BookWindow; class TextInputDialog; class InfoBoxDialog; @@ -203,6 +205,8 @@ namespace MWGui Console *console; JournalWindow* mJournal; DialogueWindow *dialogueWindow; + ScrollWindow* mScrollWindow; + BookWindow* mBookWindow; CharacterCreation* mCharGen; diff --git a/files/mygui/CMakeLists.txt b/files/mygui/CMakeLists.txt index 49055d2ed..ef62fb68c 100644 --- a/files/mygui/CMakeLists.txt +++ b/files/mygui/CMakeLists.txt @@ -51,6 +51,9 @@ configure_file("${SDIR}/openmw_interactive_messagebox_layout.xml" "${DDIR}/openm configure_file("${SDIR}/openmw_journal_layout.xml" "${DDIR}/openmw_journal_layout.xml" COPYONLY) configure_file("${SDIR}/openmw_journal_skin.xml" "${DDIR}/openmw_journal_skin.xml" COPYONLY) configure_file("${SDIR}/openmw_tooltips.xml" "${DDIR}/openmw_tooltips.xml" COPYONLY) +configure_file("${SDIR}/openmw_scroll_layout.xml" "${DDIR}/openmw_scroll_layout.xml" COPYONLY) +configure_file("${SDIR}/openmw_scroll_skin.xml" "${DDIR}/openmw_scroll_skin.xml" COPYONLY) +configure_file("${SDIR}/openmw_book_layout.xml" "${DDIR}/openmw_book_layout.xml" COPYONLY) configure_file("${SDIR}/smallbars.png" "${DDIR}/smallbars.png" COPYONLY) configure_file("${SDIR}/transparent.png" "${DDIR}/transparent.png" COPYONLY) configure_file("${SDIR}/EBGaramond-Regular.ttf" "${DDIR}/EBGaramond-Regular.ttf" COPYONLY) diff --git a/files/mygui/core.xml b/files/mygui/core.xml index 7417328cf..c0a29d1f6 100644 --- a/files/mygui/core.xml +++ b/files/mygui/core.xml @@ -20,6 +20,7 @@ + diff --git a/files/mygui/openmw_book_layout.xml b/files/mygui/openmw_book_layout.xml new file mode 100644 index 000000000..ccf494860 --- /dev/null +++ b/files/mygui/openmw_book_layout.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/files/mygui/openmw_journal_layout.xml b/files/mygui/openmw_journal_layout.xml index da4fe658b..5711053ac 100644 --- a/files/mygui/openmw_journal_layout.xml +++ b/files/mygui/openmw_journal_layout.xml @@ -7,11 +7,8 @@ - - - - - + + diff --git a/files/mygui/openmw_journal_skin.xml b/files/mygui/openmw_journal_skin.xml index 0ef87852f..a983ac523 100644 --- a/files/mygui/openmw_journal_skin.xml +++ b/files/mygui/openmw_journal_skin.xml @@ -1,9 +1,9 @@ - - - + + + diff --git a/files/mygui/openmw_scroll_layout.xml b/files/mygui/openmw_scroll_layout.xml new file mode 100644 index 000000000..b396931ed --- /dev/null +++ b/files/mygui/openmw_scroll_layout.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/files/mygui/openmw_scroll_skin.xml b/files/mygui/openmw_scroll_skin.xml new file mode 100644 index 000000000..e55396ac4 --- /dev/null +++ b/files/mygui/openmw_scroll_skin.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + From 9fc1138a87996be047d05746c9218c5babf889c6 Mon Sep 17 00:00:00 2001 From: scrawl Date: Thu, 3 May 2012 05:26:05 +0200 Subject: [PATCH 05/22] opening, closing and taking books/scrolls works --- apps/openmw/CMakeLists.txt | 2 +- apps/openmw/mwclass/book.cpp | 8 ++--- apps/openmw/mwgui/bookwindow.cpp | 49 ++++++++++++++++++++++++++-- apps/openmw/mwgui/bookwindow.hpp | 14 ++++++++ apps/openmw/mwgui/mode.hpp | 4 +-- apps/openmw/mwgui/scrollwindow.cpp | 36 ++++++++++++++++++-- apps/openmw/mwgui/scrollwindow.hpp | 14 ++++++-- apps/openmw/mwgui/window_manager.cpp | 8 +++++ apps/openmw/mwgui/window_manager.hpp | 3 ++ apps/openmw/mwworld/actionread.cpp | 31 ++++++++++++++++++ apps/openmw/mwworld/actionread.hpp | 21 ++++++++++++ 11 files changed, 173 insertions(+), 17 deletions(-) create mode 100644 apps/openmw/mwworld/actionread.cpp create mode 100644 apps/openmw/mwworld/actionread.hpp diff --git a/apps/openmw/CMakeLists.txt b/apps/openmw/CMakeLists.txt index 0fc841ce6..b112c3f38 100644 --- a/apps/openmw/CMakeLists.txt +++ b/apps/openmw/CMakeLists.txt @@ -46,7 +46,7 @@ add_openmw_dir (mwsound add_openmw_dir (mwworld refdata world physicssystem scene globals class action nullaction actionteleport containerstore actiontalk actiontake manualref player cellfunctors - cells localscripts customdata weather inventorystore ptr + cells localscripts customdata weather inventorystore ptr actionread ) add_openmw_dir (mwclass diff --git a/apps/openmw/mwclass/book.cpp b/apps/openmw/mwclass/book.cpp index ab659b480..2409f95e4 100644 --- a/apps/openmw/mwclass/book.cpp +++ b/apps/openmw/mwclass/book.cpp @@ -8,7 +8,7 @@ #include "../mwbase/environment.hpp" #include "../mwworld/ptr.hpp" -#include "../mwworld/actiontake.hpp" +#include "../mwworld/actionread.hpp" #include "../mwworld/world.hpp" #include "../mwrender/objects.hpp" @@ -60,12 +60,8 @@ namespace MWClass boost::shared_ptr Book::activate (const MWWorld::Ptr& ptr, const MWWorld::Ptr& actor) const { - // TODO implement reading - - MWBase::Environment::get().getSoundManager()->playSound3D (ptr, getUpSoundId(ptr), 1.0, 1.0, MWSound::Play_NoTrack); - return boost::shared_ptr ( - new MWWorld::ActionTake (ptr)); + new MWWorld::ActionRead (ptr)); } std::string Book::getScript (const MWWorld::Ptr& ptr) const diff --git a/apps/openmw/mwgui/bookwindow.cpp b/apps/openmw/mwgui/bookwindow.cpp index ce816a669..4b6082b81 100644 --- a/apps/openmw/mwgui/bookwindow.cpp +++ b/apps/openmw/mwgui/bookwindow.cpp @@ -1,15 +1,58 @@ #include "bookwindow.hpp" +#include "../mwbase/environment.hpp" +#include "../mwinput/inputmanager.hpp" +#include "../mwsound/soundmanager.hpp" +#include "../mwworld/actiontake.hpp" + using namespace MWGui; -BookWindow::BookWindow(WindowManager& parWindowManager) : +BookWindow::BookWindow (WindowManager& parWindowManager) : WindowBase("openmw_book_layout.xml", parWindowManager) { - //setVisible(false); + getWidget(mCloseButton, "CloseButton"); + mCloseButton->eventMouseButtonClick += MyGUI::newDelegate(this, &BookWindow::onCloseButtonClicked); + + getWidget(mTakeButton, "TakeButton"); + mTakeButton->eventMouseButtonClick += MyGUI::newDelegate(this, &BookWindow::onTakeButtonClicked); + + getWidget(mNextPageButton, "NextPageBTN"); + mNextPageButton->eventMouseButtonClick += MyGUI::newDelegate(this, &BookWindow::onNextPageButtonClicked); + + getWidget(mPrevPageButton, "PrevPageBTN"); + mPrevPageButton->eventMouseButtonClick += MyGUI::newDelegate(this, &BookWindow::onPrevPageButtonClicked); + center(); } -void BookWindow::open(MWWorld::Ptr book) +void BookWindow::open (MWWorld::Ptr book) +{ + MWBase::Environment::get().getSoundManager()->playSound3D (book, "book open", 1.0, 1.0); + + mBook = book; +} + +void BookWindow::onCloseButtonClicked (MyGUI::Widget* _sender) +{ + MWBase::Environment::get().getSoundManager()->playSound3D (mBook, "book close", 1.0, 1.0); + + MWBase::Environment::get().getInputManager()->setGuiMode(MWGui::GM_Game); +} + +void BookWindow::onTakeButtonClicked (MyGUI::Widget* _sender) +{ + MWBase::Environment::get().getSoundManager()->playSound3D (mBook, "Item Book Up", 1.0, 1.0, MWSound::Play_NoTrack); + + MWWorld::ActionTake take(mBook); + take.execute(); + + MWBase::Environment::get().getInputManager()->setGuiMode (GM_Game); +} + +void BookWindow::onNextPageButtonClicked (MyGUI::Widget* _sender) { } +void BookWindow::onPrevPageButtonClicked (MyGUI::Widget* _sender) +{ +} diff --git a/apps/openmw/mwgui/bookwindow.hpp b/apps/openmw/mwgui/bookwindow.hpp index 57f45f017..bc017e326 100644 --- a/apps/openmw/mwgui/bookwindow.hpp +++ b/apps/openmw/mwgui/bookwindow.hpp @@ -12,6 +12,20 @@ namespace MWGui public: BookWindow(WindowManager& parWindowManager); void open(MWWorld::Ptr book); + + protected: + void onNextPageButtonClicked (MyGUI::Widget* _sender); + void onPrevPageButtonClicked (MyGUI::Widget* _sender); + void onCloseButtonClicked (MyGUI::Widget* _sender); + void onTakeButtonClicked (MyGUI::Widget* _sender); + + private: + MyGUI::Button* mCloseButton; + MyGUI::Button* mTakeButton; + MyGUI::Button* mNextPageButton; + MyGUI::Button* mPrevPageButton; + + MWWorld::Ptr mBook; }; } diff --git a/apps/openmw/mwgui/mode.hpp b/apps/openmw/mwgui/mode.hpp index 55f0952ce..fa31bb1c4 100644 --- a/apps/openmw/mwgui/mode.hpp +++ b/apps/openmw/mwgui/mode.hpp @@ -12,12 +12,12 @@ namespace MWGui GM_Console, // Console mode GM_Journal, // Journal mode - // None of the following are implemented yet + GM_Scroll, // Read scroll + GM_Book, // Read book GM_Dialogue, // NPC interaction GM_Barter, GM_Rest, - // .. more here .. // Startup character creation dialogs GM_Name, diff --git a/apps/openmw/mwgui/scrollwindow.cpp b/apps/openmw/mwgui/scrollwindow.cpp index ab4065e41..a5135722f 100644 --- a/apps/openmw/mwgui/scrollwindow.cpp +++ b/apps/openmw/mwgui/scrollwindow.cpp @@ -1,14 +1,44 @@ #include "scrollwindow.hpp" +#include "../mwbase/environment.hpp" +#include "../mwinput/inputmanager.hpp" +#include "../mwworld/actiontake.hpp" +#include "../mwsound/soundmanager.hpp" + using namespace MWGui; -ScrollWindow::ScrollWindow(WindowManager& parWindowManager) : +ScrollWindow::ScrollWindow (WindowManager& parWindowManager) : WindowBase("openmw_scroll_layout.xml", parWindowManager) { - setVisible(false); + getWidget(mCloseButton, "CloseButton"); + mCloseButton->eventMouseButtonClick += MyGUI::newDelegate(this, &ScrollWindow::onCloseButtonClicked); + + getWidget(mTakeButton, "TakeButton"); + mTakeButton->eventMouseButtonClick += MyGUI::newDelegate(this, &ScrollWindow::onTakeButtonClicked); + center(); } -void ScrollWindow::open(MWWorld::Ptr scroll) +void ScrollWindow::open (MWWorld::Ptr scroll) +{ + MWBase::Environment::get().getSoundManager()->playSound3D (scroll, "scroll", 1.0, 1.0); + + mScroll = scroll; +} + +void ScrollWindow::onCloseButtonClicked (MyGUI::Widget* _sender) { + MWBase::Environment::get().getSoundManager()->playSound3D (mScroll, "scroll", 1.0, 1.0); + + MWBase::Environment::get().getInputManager()->setGuiMode (GM_Game); +} + +void ScrollWindow::onTakeButtonClicked (MyGUI::Widget* _sender) +{ + MWBase::Environment::get().getSoundManager()->playSound3D (mScroll, "Item Book Up", 1.0, 1.0, MWSound::Play_NoTrack); + + MWWorld::ActionTake take(mScroll); + take.execute(); + + MWBase::Environment::get().getInputManager()->setGuiMode (GM_Game); } diff --git a/apps/openmw/mwgui/scrollwindow.hpp b/apps/openmw/mwgui/scrollwindow.hpp index d7f5cd686..e4968995e 100644 --- a/apps/openmw/mwgui/scrollwindow.hpp +++ b/apps/openmw/mwgui/scrollwindow.hpp @@ -10,8 +10,18 @@ namespace MWGui class ScrollWindow : public WindowBase { public: - ScrollWindow(WindowManager& parWindowManager); - void open(MWWorld::Ptr scroll); + ScrollWindow (WindowManager& parWindowManager); + void open (MWWorld::Ptr scroll); + + protected: + void onCloseButtonClicked (MyGUI::Widget* _sender); + void onTakeButtonClicked (MyGUI::Widget* _sender); + + private: + MyGUI::Button* mCloseButton; + MyGUI::Button* mTakeButton; + + MWWorld::Ptr mScroll; }; } diff --git a/apps/openmw/mwgui/window_manager.cpp b/apps/openmw/mwgui/window_manager.cpp index 40fc9308d..d082efe0c 100644 --- a/apps/openmw/mwgui/window_manager.cpp +++ b/apps/openmw/mwgui/window_manager.cpp @@ -185,6 +185,8 @@ void WindowManager::updateVisible() stats->setVisible(false); console->disable(); mJournal->setVisible(false); + mScrollWindow->setVisible(false); + mBookWindow->setVisible(false); dialogueWindow->setVisible(false); // Mouse is visible whenever we're not in game mode @@ -205,6 +207,12 @@ void WindowManager::updateVisible() case GM_Console: console->enable(); break; + case GM_Scroll: + mScrollWindow->setVisible(true); + break; + case GM_Book: + mBookWindow->setVisible(true); + break; case GM_Name: case GM_Race: case GM_Class: diff --git a/apps/openmw/mwgui/window_manager.hpp b/apps/openmw/mwgui/window_manager.hpp index 13da6c7f0..b84c74441 100644 --- a/apps/openmw/mwgui/window_manager.hpp +++ b/apps/openmw/mwgui/window_manager.hpp @@ -127,6 +127,9 @@ namespace MWGui MWGui::DialogueWindow* getDialogueWindow() {return dialogueWindow;} + MWGui::BookWindow* getBookWindow() {return mBookWindow;} + MWGui::ScrollWindow* getScrollWindow() {return mScrollWindow;} + MyGUI::Gui* getGui() const { return gui; } void wmUpdateFps(float fps, size_t triangleCount, size_t batchCount) diff --git a/apps/openmw/mwworld/actionread.cpp b/apps/openmw/mwworld/actionread.cpp new file mode 100644 index 000000000..0d37e06f5 --- /dev/null +++ b/apps/openmw/mwworld/actionread.cpp @@ -0,0 +1,31 @@ +#include "actionread.hpp" + +#include "../mwbase/environment.hpp" +#include "../mwgui/window_manager.hpp" +#include "../mwgui/bookwindow.hpp" +#include "../mwgui/scrollwindow.hpp" + +namespace MWWorld +{ + ActionRead::ActionRead (const MWWorld::Ptr& object) : mObject (object) + { + } + + void ActionRead::execute () + { + ESMS::LiveCellRef *ref = + mObject.get(); + + if (ref->base->data.isScroll) + { + MWBase::Environment::get().getWindowManager()->setGuiMode(MWGui::GM_Scroll); + MWBase::Environment::get().getWindowManager()->getScrollWindow()->open(mObject); + } + else + { + MWBase::Environment::get().getWindowManager()->setGuiMode(MWGui::GM_Book); + MWBase::Environment::get().getWindowManager()->getBookWindow()->open(mObject); + } + } +} + diff --git a/apps/openmw/mwworld/actionread.hpp b/apps/openmw/mwworld/actionread.hpp new file mode 100644 index 000000000..a4b495f79 --- /dev/null +++ b/apps/openmw/mwworld/actionread.hpp @@ -0,0 +1,21 @@ +#ifndef GAME_MWWORLD_ACTIONREAD_H +#define GAME_MWWORLD_ACTIONREAD_H + +#include "action.hpp" +#include "ptr.hpp" + +namespace MWWorld +{ + class ActionRead : public Action + { + Ptr mObject; // book or scroll to read + + public: + /// @param book or scroll to read + ActionRead (const Ptr& object); + + virtual void execute (); + }; +} + +#endif // ACTIONOPEN_H From 5028a83d1108f7ee01555d826fabe05a21bf518c Mon Sep 17 00:00:00 2001 From: scrawl Date: Thu, 3 May 2012 07:03:04 +0200 Subject: [PATCH 06/22] fix stats window layout resizing --- apps/openmw/mwgui/review.cpp | 2 +- apps/openmw/mwgui/stats_window.cpp | 2 +- files/mygui/openmw_stats_window_layout.xml | 36 +++++++++++----------- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/apps/openmw/mwgui/review.cpp b/apps/openmw/mwgui/review.cpp index 7dfe514de..81a87b07b 100644 --- a/apps/openmw/mwgui/review.cpp +++ b/apps/openmw/mwgui/review.cpp @@ -248,7 +248,7 @@ MyGUI::TextBox* ReviewDialog::addValueItem(const std::string text, const std::st skillNameWidget = skillClientWidget->createWidget("SandText", coord1, MyGUI::Align::Default); skillNameWidget->setCaption(text); - skillValueWidget = skillClientWidget->createWidget("SandTextRight", coord2, MyGUI::Align::Default); + skillValueWidget = skillClientWidget->createWidget("SandTextRight", coord2, MyGUI::Align::Top | MyGUI::Align::Right); skillValueWidget->setCaption(value); skillValueWidget->_setWidgetState(state); diff --git a/apps/openmw/mwgui/stats_window.cpp b/apps/openmw/mwgui/stats_window.cpp index b007fc1d4..168b2efc6 100644 --- a/apps/openmw/mwgui/stats_window.cpp +++ b/apps/openmw/mwgui/stats_window.cpp @@ -256,7 +256,7 @@ MyGUI::TextBox* StatsWindow::addValueItem(const std::string& text, const std::st skillNameWidget->setUserString("ToolTipType", "Text"); skillNameWidget->setUserString("ToolTipText", tooltip); - skillValueWidget = skillClientWidget->createWidget("SandTextRight", coord2, MyGUI::Align::Default); + skillValueWidget = skillClientWidget->createWidget("SandTextRight", coord2, MyGUI::Align::Right | MyGUI::Align::Top); skillValueWidget->setUserString("ToolTipType", "Text"); skillValueWidget->setUserString("ToolTipText", tooltip); skillValueWidget->setCaption(value); diff --git a/files/mygui/openmw_stats_window_layout.xml b/files/mygui/openmw_stats_window_layout.xml index fd99f863e..4f3f80e89 100644 --- a/files/mygui/openmw_stats_window_layout.xml +++ b/files/mygui/openmw_stats_window_layout.xml @@ -26,34 +26,34 @@ - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + From a4d6d1bafff74e1e08aeb07792df92f312dee5a8 Mon Sep 17 00:00:00 2001 From: scrawl Date: Fri, 4 May 2012 18:09:45 +0200 Subject: [PATCH 07/22] added a utility for creating texture atlas at runtime --- CMakeLists.txt | 1 + apps/openmw/mwgui/cursorreplace.cpp | 3 + files/mygui/CMakeLists.txt | 1 + files/mygui/atlas1.cfg | 27 +++++++ libs/openengine/ogre/atlas.cpp | 113 ++++++++++++++++++++++++++++ libs/openengine/ogre/atlas.hpp | 27 +++++++ 6 files changed, 172 insertions(+) create mode 100644 files/mygui/atlas1.cfg create mode 100644 libs/openengine/ogre/atlas.cpp create mode 100644 libs/openengine/ogre/atlas.hpp diff --git a/CMakeLists.txt b/CMakeLists.txt index ca3fe0eeb..668fcd83a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -103,6 +103,7 @@ set(OENGINE_OGRE ${LIBDIR}/openengine/ogre/mouselook.cpp ${LIBDIR}/openengine/ogre/fader.cpp ${LIBDIR}/openengine/ogre/imagerotate.cpp + ${LIBDIR}/openengine/ogre/atlas.cpp ) set(OENGINE_GUI ${LIBDIR}/openengine/gui/events.cpp diff --git a/apps/openmw/mwgui/cursorreplace.cpp b/apps/openmw/mwgui/cursorreplace.cpp index 2079538fc..e66f54326 100644 --- a/apps/openmw/mwgui/cursorreplace.cpp +++ b/apps/openmw/mwgui/cursorreplace.cpp @@ -2,6 +2,7 @@ #include #include +#include #include #include @@ -13,4 +14,6 @@ CursorReplace::CursorReplace() OEngine::Render::ImageRotate::rotate("textures\\tx_cursormove.dds", "mwpointer_vresize.png", 90); OEngine::Render::ImageRotate::rotate("textures\\tx_cursormove.dds", "mwpointer_dresize1.png", -45); OEngine::Render::ImageRotate::rotate("textures\\tx_cursormove.dds", "mwpointer_dresize2.png", 45); + + OEngine::Render::Atlas::createFromFile("atlas1.cfg", "mwgui1", "textures\\"); } diff --git a/files/mygui/CMakeLists.txt b/files/mygui/CMakeLists.txt index ef62fb68c..2c380cd7e 100644 --- a/files/mygui/CMakeLists.txt +++ b/files/mygui/CMakeLists.txt @@ -54,6 +54,7 @@ configure_file("${SDIR}/openmw_tooltips.xml" "${DDIR}/openmw_tooltips.xml" COPYO configure_file("${SDIR}/openmw_scroll_layout.xml" "${DDIR}/openmw_scroll_layout.xml" COPYONLY) configure_file("${SDIR}/openmw_scroll_skin.xml" "${DDIR}/openmw_scroll_skin.xml" COPYONLY) configure_file("${SDIR}/openmw_book_layout.xml" "${DDIR}/openmw_book_layout.xml" COPYONLY) +configure_file("${SDIR}/atlas1.cfg" "${DDIR}/atlas1.cfg" COPYONLY) configure_file("${SDIR}/smallbars.png" "${DDIR}/smallbars.png" COPYONLY) configure_file("${SDIR}/transparent.png" "${DDIR}/transparent.png" COPYONLY) configure_file("${SDIR}/EBGaramond-Regular.ttf" "${DDIR}/EBGaramond-Regular.ttf" COPYONLY) diff --git a/files/mygui/atlas1.cfg b/files/mygui/atlas1.cfg new file mode 100644 index 000000000..2a9716b77 --- /dev/null +++ b/files/mygui/atlas1.cfg @@ -0,0 +1,27 @@ +[settings] + size_x = 512 + size_y = 512 + +[tx_menubook_close_idle.dds] + x = 0 + y = 0 + +[tx_menubook_close_over.dds] + x = 128 + y = 0 + +[tx_menubook_close_pressed.dds] + x = 256 + y = 0 + +[tx_menubook_take_idle.dds] + x = 384 + y = 0 + +[tx_menubook_take_over.dds] + x = 0 + y = 32 + +[tx_menubook_take_pressed.dds] + x = 128 + y = 32 diff --git a/libs/openengine/ogre/atlas.cpp b/libs/openengine/ogre/atlas.cpp new file mode 100644 index 000000000..01b84afab --- /dev/null +++ b/libs/openengine/ogre/atlas.cpp @@ -0,0 +1,113 @@ +#include "atlas.hpp" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace Ogre; +using namespace OEngine::Render; + +void Atlas::createFromFile (const std::string& filename, const std::string& textureName, const std::string& texturePrefix) +{ + ConfigFile file; + file.load(filename, ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME, "\t:=", true); + + Root* root = Ogre::Root::getSingletonPtr(); + + SceneManager* sceneMgr = root->createSceneManager(ST_GENERIC); + Camera* camera = sceneMgr->createCamera("AtlasCamera"); + + int width = StringConverter::parseInt(file.getSetting("size_x", "settings")); + int height = StringConverter::parseInt(file.getSetting("size_y", "settings")); + + std::vector rectangles; + int i = 0; + + ConfigFile::SectionIterator seci = file.getSectionIterator(); + while (seci.hasMoreElements()) + { + Ogre::String sectionName = seci.peekNextKey(); + seci.getNext(); + + if (sectionName == "settings" || sectionName == "") + continue; + + MaterialPtr material = MaterialManager::getSingleton().create("AtlasMaterial" + StringConverter::toString(i), ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME); + material->getTechnique(0)->getPass(0)->setLightingEnabled(false); + material->getTechnique(0)->getPass(0)->setDepthCheckEnabled(false); + TextureUnitState* tus = material->getTechnique(0)->getPass(0)->createTextureUnitState(texturePrefix + sectionName); + tus->setTextureBorderColour(ColourValue(0, 0, 0, 0)); + + Rectangle2D* rect = new Rectangle2D(true); + rect->setMaterial("AtlasMaterial" + StringConverter::toString(i)); + rect->setRenderQueueGroup(RENDER_QUEUE_BACKGROUND); + + int x = StringConverter::parseInt(file.getSetting("x", sectionName)); + int y = StringConverter::parseInt(file.getSetting("y", sectionName)); + + TexturePtr texture = TextureManager::getSingleton().getByName(texturePrefix + sectionName); + if (texture.isNull()) + { + std::cerr << "OEngine::Render::Atlas: Can't find texture " << texturePrefix + sectionName << ", skipping..." << std::endl; + continue; + } + int textureWidth = texture->getWidth(); + int textureHeight = texture->getHeight(); + + float left = x/float(width) * 2 - 1; + float top = (1-(y/float(height))) * 2 - 1; + float right = ((x+textureWidth))/float(width) * 2 - 1; + float bottom = (1-((y+textureHeight)/float(height))) * 2 - 1; + rect->setCorners(left, top, right, bottom); + + // Use infinite AAB to always stay visible + AxisAlignedBox aabInf; + aabInf.setInfinite(); + rect->setBoundingBox(aabInf); + + // Attach background to the scene + SceneNode* node = sceneMgr->getRootSceneNode()->createChildSceneNode(); + node->attachObject(rect); + + rectangles.push_back(rect); + ++i; + } + + TexturePtr destTexture = TextureManager::getSingleton().createManual( + textureName, + ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME, + TEX_TYPE_2D, + width, height, + 0, + PF_FLOAT16_RGBA, + TU_RENDERTARGET); + + RenderTarget* rtt = destTexture->getBuffer()->getRenderTarget(); + rtt->setAutoUpdated(false); + Viewport* vp = rtt->addViewport(camera); + vp->setOverlaysEnabled(false); + vp->setShadowsEnabled(false); + vp->setBackgroundColour(ColourValue(0,0,0,0)); + + rtt->update(); + + // remove all the junk we've created + for (std::vector::iterator it=rectangles.begin(); + it!=rectangles.end(); ++it) + { + delete (*it); + } + while (i > 0) + { + MaterialManager::getSingleton().remove("AtlasMaterial" + StringConverter::toString(i-1)); + --i; + } + root->destroySceneManager(sceneMgr); +} diff --git a/libs/openengine/ogre/atlas.hpp b/libs/openengine/ogre/atlas.hpp new file mode 100644 index 000000000..5dcd409ca --- /dev/null +++ b/libs/openengine/ogre/atlas.hpp @@ -0,0 +1,27 @@ +#ifndef OENGINE_OGRE_ATLAS_HPP +#define OENGINE_OGRE_ATLAS_HPP + +#include + +namespace OEngine +{ +namespace Render +{ + + /// \brief Creates a texture atlas at runtime + class Atlas + { + public: + /** + * @param absolute path to file that specifies layout of the texture (positions of the textures it contains) + * @param name of the destination texture to save to (in memory) + * @param texture directory prefix + */ + static void createFromFile (const std::string& filename, const std::string& textureName, const std::string& texturePrefix="textures\\"); + }; + +} +} + +#endif + From c125fba9d2d36e074d4a2a64963b258188e163d7 Mon Sep 17 00:00:00 2001 From: scrawl Date: Fri, 4 May 2012 18:44:46 +0200 Subject: [PATCH 08/22] button mouse-over image change working --- files/mygui/CMakeLists.txt | 2 +- files/mygui/core.xml | 2 +- files/mygui/openmw_book_layout.xml | 8 ++- files/mygui/openmw_images.xml | 39 ------------- files/mygui/openmw_resources.xml | 86 ++++++++++++++++++++++++++++ files/mygui/openmw_scroll_layout.xml | 9 ++- 6 files changed, 101 insertions(+), 45 deletions(-) delete mode 100644 files/mygui/openmw_images.xml create mode 100644 files/mygui/openmw_resources.xml diff --git a/files/mygui/CMakeLists.txt b/files/mygui/CMakeLists.txt index 2c380cd7e..f712ea67d 100644 --- a/files/mygui/CMakeLists.txt +++ b/files/mygui/CMakeLists.txt @@ -9,7 +9,7 @@ configure_file("${SDIR}/black.png" "${DDIR}/black.png" COPYONLY) configure_file("${SDIR}/core.skin" "${DDIR}/core.skin" COPYONLY) configure_file("${SDIR}/core.xml" "${DDIR}/core.xml" COPYONLY) configure_file("${SDIR}/mwgui.png" "${DDIR}/mwgui.png" COPYONLY) -configure_file("${SDIR}/openmw_images.xml" "${DDIR}/openmw_images.xml" COPYONLY) +configure_file("${SDIR}/openmw_resources.xml" "${DDIR}/openmw_resources.xml" COPYONLY) configure_file("${SDIR}/openmw_settings.xml" "${DDIR}/openmw_settings.xml" COPYONLY) configure_file("${SDIR}/openmw_box.skin.xml" "${DDIR}/openmw_box.skin.xml" COPYONLY) configure_file("${SDIR}/openmw_button.skin.xml" "${DDIR}/openmw_button.skin.xml" COPYONLY) diff --git a/files/mygui/core.xml b/files/mygui/core.xml index c0a29d1f6..e1fb1b5e2 100644 --- a/files/mygui/core.xml +++ b/files/mygui/core.xml @@ -2,7 +2,7 @@ - + diff --git a/files/mygui/openmw_book_layout.xml b/files/mygui/openmw_book_layout.xml index ccf494860..f43c38b5e 100644 --- a/files/mygui/openmw_book_layout.xml +++ b/files/mygui/openmw_book_layout.xml @@ -9,8 +9,12 @@ - - + + + + + + diff --git a/files/mygui/openmw_images.xml b/files/mygui/openmw_images.xml deleted file mode 100644 index e149273e2..000000000 --- a/files/mygui/openmw_images.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/files/mygui/openmw_resources.xml b/files/mygui/openmw_resources.xml new file mode 100644 index 000000000..3dfc82cd1 --- /dev/null +++ b/files/mygui/openmw_resources.xml @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/files/mygui/openmw_scroll_layout.xml b/files/mygui/openmw_scroll_layout.xml index b396931ed..8e2b1765f 100644 --- a/files/mygui/openmw_scroll_layout.xml +++ b/files/mygui/openmw_scroll_layout.xml @@ -7,9 +7,14 @@ - + + + + + + + - From a3d99767f7e971f7c732d5da9ee0e27f8e56481e Mon Sep 17 00:00:00 2001 From: scrawl Date: Fri, 4 May 2012 19:11:32 +0200 Subject: [PATCH 09/22] next & prev button mouseover --- files/mygui/atlas1.cfg | 24 ++++++++++++++++ files/mygui/openmw_book_layout.xml | 12 +++++--- files/mygui/openmw_journal_layout.xml | 9 ++++-- files/mygui/openmw_journal_skin.xml | 12 -------- files/mygui/openmw_resources.xml | 40 +++++++++++++++++++++++++-- files/mygui/openmw_scroll_layout.xml | 4 +-- files/mygui/openmw_scroll_skin.xml | 10 ------- 7 files changed, 77 insertions(+), 34 deletions(-) diff --git a/files/mygui/atlas1.cfg b/files/mygui/atlas1.cfg index 2a9716b77..d1e05e041 100644 --- a/files/mygui/atlas1.cfg +++ b/files/mygui/atlas1.cfg @@ -25,3 +25,27 @@ [tx_menubook_take_pressed.dds] x = 128 y = 32 + +[tx_menubook_next_idle.dds] + x = 256 + y = 32 + +[tx_menubook_next_over.dds] + x = 384 + y = 32 + +[tx_menubook_next_pressed.dds] + x = 0 + y = 64 + +[tx_menubook_prev_idle.dds] + x = 128 + y = 64 + +[tx_menubook_prev_over.dds] + x = 256 + y = 64 + +[tx_menubook_prev_pressed.dds] + x = 384 + y = 64 diff --git a/files/mygui/openmw_book_layout.xml b/files/mygui/openmw_book_layout.xml index f43c38b5e..36f93a067 100644 --- a/files/mygui/openmw_book_layout.xml +++ b/files/mygui/openmw_book_layout.xml @@ -7,12 +7,16 @@ - - - + + + + + + + - + diff --git a/files/mygui/openmw_journal_layout.xml b/files/mygui/openmw_journal_layout.xml index 5711053ac..906e87297 100644 --- a/files/mygui/openmw_journal_layout.xml +++ b/files/mygui/openmw_journal_layout.xml @@ -7,9 +7,12 @@ - - - + + + + + + diff --git a/files/mygui/openmw_journal_skin.xml b/files/mygui/openmw_journal_skin.xml index a983ac523..9f82e907f 100644 --- a/files/mygui/openmw_journal_skin.xml +++ b/files/mygui/openmw_journal_skin.xml @@ -1,18 +1,6 @@ - - - - - - - - - - - - diff --git a/files/mygui/openmw_resources.xml b/files/mygui/openmw_resources.xml index 3dfc82cd1..455765aad 100644 --- a/files/mygui/openmw_resources.xml +++ b/files/mygui/openmw_resources.xml @@ -38,7 +38,7 @@ - + @@ -55,7 +55,7 @@ - + @@ -71,9 +71,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + diff --git a/files/mygui/openmw_scroll_layout.xml b/files/mygui/openmw_scroll_layout.xml index 8e2b1765f..4c9ab10e2 100644 --- a/files/mygui/openmw_scroll_layout.xml +++ b/files/mygui/openmw_scroll_layout.xml @@ -7,11 +7,11 @@ - + - + diff --git a/files/mygui/openmw_scroll_skin.xml b/files/mygui/openmw_scroll_skin.xml index e55396ac4..20b952d58 100644 --- a/files/mygui/openmw_scroll_skin.xml +++ b/files/mygui/openmw_scroll_skin.xml @@ -1,15 +1,5 @@ - - - - - - - - - - From 499dd263988ca7ae96142253bf863c8dde5f6d15 Mon Sep 17 00:00:00 2001 From: scrawl Date: Fri, 4 May 2012 23:53:50 +0200 Subject: [PATCH 10/22] dialogue window topic list word-wrapping --- apps/openmw/CMakeLists.txt | 2 +- apps/openmw/mwgui/dialogue.cpp | 19 ++- apps/openmw/mwgui/dialogue.hpp | 9 +- apps/openmw/mwgui/list.cpp | 116 ++++++++++++++++++ apps/openmw/mwgui/list.hpp | 54 ++++++++ apps/openmw/mwgui/window_manager.cpp | 15 +-- files/mygui/openmw_dialogue_window_layout.xml | 2 +- files/mygui/openmw_list.skin.xml | 14 +++ files/mygui/openmw_scroll_layout.xml | 13 ++ files/mygui/openmw_scroll_skin.xml | 6 + 10 files changed, 228 insertions(+), 22 deletions(-) create mode 100644 apps/openmw/mwgui/list.cpp create mode 100644 apps/openmw/mwgui/list.hpp diff --git a/apps/openmw/CMakeLists.txt b/apps/openmw/CMakeLists.txt index b112c3f38..29bc86fe3 100644 --- a/apps/openmw/CMakeLists.txt +++ b/apps/openmw/CMakeLists.txt @@ -25,7 +25,7 @@ add_openmw_dir (mwinput add_openmw_dir (mwgui layouts text_input widgets race class birth review window_manager console dialogue dialogue_history window_base stats_window messagebox journalwindow charactercreation - map_window window_pinnable_base cursorreplace tooltips scrollwindow bookwindow + map_window window_pinnable_base cursorreplace tooltips scrollwindow bookwindow list ) add_openmw_dir (mwdialogue diff --git a/apps/openmw/mwgui/dialogue.cpp b/apps/openmw/mwgui/dialogue.cpp index 0238446eb..3d47aa7dc 100644 --- a/apps/openmw/mwgui/dialogue.cpp +++ b/apps/openmw/mwgui/dialogue.cpp @@ -2,6 +2,7 @@ #include "dialogue_history.hpp" #include "window_manager.hpp" #include "widgets.hpp" +#include "list.hpp" #include "components/esm_store/store.hpp" #include "../mwbase/environment.hpp" #include "../mwdialogue/dialoguemanager.hpp" @@ -56,9 +57,8 @@ DialogueWindow::DialogueWindow(WindowManager& parWindowManager) //Topics list getWidget(topicsList, "TopicsList"); - topicsList->setScrollVisible(true); //topicsList->eventListSelectAccept += MyGUI::newDelegate(this, &DialogueWindow::onSelectTopic); - topicsList->eventListMouseItemActivate += MyGUI::newDelegate(this, &DialogueWindow::onSelectTopic); + topicsList->eventItemSelected += MyGUI::newDelegate(this, &DialogueWindow::onSelectTopic); //topicsList->eventListChangePosition += MyGUI::newDelegate(this, &DialogueWindow::onSelectTopic); MyGUI::ButtonPtr byeButton; @@ -98,7 +98,7 @@ void DialogueWindow::onMouseWheel(MyGUI::Widget* _sender, int _rel) void DialogueWindow::open() { - topicsList->removeAllItems(); + topicsList->clear(); pTopicsText.clear(); history->eraseText(0,history->getTextLength()); updateOptions(); @@ -110,11 +110,8 @@ void DialogueWindow::onByeClicked(MyGUI::Widget* _sender) MWBase::Environment::get().getDialogueManager()->goodbyeSelected(); } -void DialogueWindow::onSelectTopic(MyGUI::ListBox* _sender, size_t _index) +void DialogueWindow::onSelectTopic(std::string topic) { - if (_index == MyGUI::ITEM_NONE) - return; - std::string topic = _sender->getItemNameAt(_index); MWBase::Environment::get().getDialogueManager()->keywordSelected(lower_string(topic)); } @@ -126,7 +123,7 @@ void DialogueWindow::startDialogue(std::string npcName) void DialogueWindow::setKeywords(std::list keyWords) { - topicsList->removeAllItems(); + topicsList->clear(); for(std::list::iterator it = keyWords.begin(); it != keyWords.end(); it++) { topicsList->addItem(*it); @@ -135,9 +132,9 @@ void DialogueWindow::setKeywords(std::list keyWords) void DialogueWindow::removeKeyword(std::string keyWord) { - if(topicsList->findItemIndexWith(keyWord) != MyGUI::ITEM_NONE) + if(topicsList->hasItem(keyWord)) { - topicsList->removeItemAt(topicsList->findItemIndexWith(keyWord)); + topicsList->removeItem(keyWord); pTopicsText.erase(keyWord); } } @@ -211,7 +208,7 @@ void DialogueWindow::askQuestion(std::string question) void DialogueWindow::updateOptions() { //Clear the list of topics - topicsList->removeAllItems(); + topicsList->clear(); pTopicsText.clear(); history->eraseText(0,history->getTextLength()); diff --git a/apps/openmw/mwgui/dialogue.hpp b/apps/openmw/mwgui/dialogue.hpp index 5921ca57a..ac29e9ec8 100644 --- a/apps/openmw/mwgui/dialogue.hpp +++ b/apps/openmw/mwgui/dialogue.hpp @@ -7,6 +7,11 @@ namespace MWGui { class WindowManager; + + namespace Widgets + { + class MWList; + } } /* @@ -42,7 +47,7 @@ namespace MWGui void askQuestion(std::string question); protected: - void onSelectTopic(MyGUI::ListBox* _sender, size_t _index); + void onSelectTopic(std::string topic); void onByeClicked(MyGUI::Widget* _sender); void onHistoryClicked(MyGUI::Widget* _sender); void onMouseWheel(MyGUI::Widget* _sender, int _rel); @@ -55,7 +60,7 @@ namespace MWGui std::string parseText(std::string text); DialogueHistory* history; - MyGUI::ListBox* topicsList; + Widgets::MWList* topicsList; MyGUI::ProgressPtr pDispositionBar; MyGUI::EditPtr pDispositionText; std::map pTopicsText;// this map links keyword and "real" text. diff --git a/apps/openmw/mwgui/list.cpp b/apps/openmw/mwgui/list.cpp new file mode 100644 index 000000000..733654b8c --- /dev/null +++ b/apps/openmw/mwgui/list.cpp @@ -0,0 +1,116 @@ +#include "list.hpp" + +#include + +using namespace MWGui; +using namespace MWGui::Widgets; + +MWList::MWList() : + mClient(0) + , mScrollView(0) + , mItemHeight(0) +{ +} + +void MWList::initialiseOverride() +{ + Base::initialiseOverride(); + + assignWidget(mClient, "Client"); + if (mClient == 0) + mClient = this; + + mScrollView = mClient->createWidgetReal( + "MW_ScrollView", MyGUI::FloatCoord(0.0, 0.0, 1.0, 1.0), + MyGUI::Align::Top | MyGUI::Align::Left | MyGUI::Align::Stretch, getName() + "_ScrollView"); +} + +void MWList::addItem(const std::string& name) +{ + mItems.push_back(name); + + redraw(); +} + +void MWList::redraw(bool scrollbarShown) +{ + const int _scrollBarWidth = 24; // fetch this from skin? + const int scrollBarWidth = scrollbarShown ? _scrollBarWidth : 0; + const int spacing = 3; + + while (mScrollView->getChildCount()) + { + MyGUI::Gui::getInstance().destroyWidget(mScrollView->getChildAt(0)); + } + + mItemHeight = 0; + for (std::vector::const_iterator it=mItems.begin(); + it!=mItems.end(); ++it) + { + MyGUI::Button* button = mScrollView->createWidget( + "MW_ListLine", MyGUI::IntCoord(0, mItemHeight, mScrollView->getSize().width - scrollBarWidth - 2, 24), + MyGUI::Align::Left | MyGUI::Align::Top, getName() + "_item_" + (*it)); + button->setCaption((*it)); + button->getSubWidgetText()->setWordWrap(true); + button->getSubWidgetText()->setTextAlign(MyGUI::Align::Left); + button->eventMouseWheel += MyGUI::newDelegate(this, &MWList::onMouseWheel); + button->eventMouseButtonClick += MyGUI::newDelegate(this, &MWList::onItemSelected); + + int height = button->getTextSize().height; + button->setSize(MyGUI::IntSize(button->getSize().width, height)); + + mItemHeight += height + spacing; + } + mScrollView->setCanvasSize(mClient->getSize().width + (_scrollBarWidth-scrollBarWidth), std::max(mItemHeight, mClient->getSize().height)); + mScrollView->setViewOffset(MyGUI::IntPoint(0,0)); + + if (!scrollbarShown && mItemHeight > mClient->getSize().height) + redraw(true); +} + +bool MWList::hasItem(const std::string& name) +{ + return (std::find(mItems.begin(), mItems.end(), name) != mItems.end()); +} + +unsigned int MWList::getItemCount() +{ + return mItems.size(); +} + +std::string MWList::getItemNameAt(unsigned int at) +{ + assert(at < mItems.size() && "List item out of bounds"); + return mItems[at]; +} + +void MWList::removeItem(const std::string& name) +{ + assert( std::find(mItems.begin(), mItems.end(), name) != mItems.end() ); + mItems.erase( std::find(mItems.begin(), mItems.end(), name) ); + + redraw(); +} + +void MWList::clear() +{ + mItems.clear(); + + redraw(); +} + +void MWList::onMouseWheel(MyGUI::Widget* _sender, int _rel) +{ + //NB view offset is negative + if (mScrollView->getViewOffset().top + _rel*0.3 > 0) + mScrollView->setViewOffset(MyGUI::IntPoint(0, 0)); + else + mScrollView->setViewOffset(MyGUI::IntPoint(0, mScrollView->getViewOffset().top + _rel*0.3)); +} + +void MWList::onItemSelected(MyGUI::Widget* _sender) +{ + std::string name = static_cast(_sender)->getCaption(); + + eventItemSelected(name); +} diff --git a/apps/openmw/mwgui/list.hpp b/apps/openmw/mwgui/list.hpp new file mode 100644 index 000000000..eedcae066 --- /dev/null +++ b/apps/openmw/mwgui/list.hpp @@ -0,0 +1,54 @@ +#ifndef MWGUI_LIST_HPP +#define MWGUI_LIST_HPP + +#include + +namespace MWGui +{ + namespace Widgets + { + /** + * \brief a very simple list widget that supports word-wrapping entries + * \note does not handle changing the width of the list at runtime + */ + class MWList : public MyGUI::Widget + { + MYGUI_RTTI_DERIVED(MWList) + public: + MWList(); + + typedef MyGUI::delegates::CMultiDelegate1 EventHandle_String; + + /** + * Event: Item selected with the mouse. + * signature: void method(std::string itemName) + */ + EventHandle_String eventItemSelected; + + void addItem(const std::string& name); + void removeItem(const std::string& name); + bool hasItem(const std::string& name); + unsigned int getItemCount(); + std::string getItemNameAt(unsigned int at); + void clear(); + + protected: + void initialiseOverride(); + + void redraw(bool scrollbarShown = false); + + void onMouseWheel(MyGUI::Widget* _sender, int _rel); + void onItemSelected(MyGUI::Widget* _sender); + + private: + MyGUI::ScrollView* mScrollView; + MyGUI::Widget* mClient; + + std::vector mItems; + + int mItemHeight; // height of all items + }; + } +} + +#endif diff --git a/apps/openmw/mwgui/window_manager.cpp b/apps/openmw/mwgui/window_manager.cpp index d082efe0c..dfac55beb 100644 --- a/apps/openmw/mwgui/window_manager.cpp +++ b/apps/openmw/mwgui/window_manager.cpp @@ -10,6 +10,7 @@ #include "tooltips.hpp" #include "scrollwindow.hpp" #include "bookwindow.hpp" +#include "list.hpp" #include "../mwmechanics/mechanicsmanager.hpp" #include "../mwinput/inputmanager.hpp" @@ -73,6 +74,13 @@ WindowManager::WindowManager( //Register own widgets with MyGUI MyGUI::FactoryManager::getInstance().registerFactory("Widget"); + MyGUI::FactoryManager::getInstance().registerFactory("Widget"); + MyGUI::FactoryManager::getInstance().registerFactory("Widget"); + MyGUI::FactoryManager::getInstance().registerFactory("Widget"); + MyGUI::FactoryManager::getInstance().registerFactory("Widget"); + MyGUI::FactoryManager::getInstance().registerFactory("Widget"); + MyGUI::FactoryManager::getInstance().registerFactory("Widget"); + MyGUI::FactoryManager::getInstance().registerFactory("Widget"); // Get size info from the Gui object assert(gui); @@ -107,13 +115,6 @@ WindowManager::WindowManager( playerSkillValues.insert(std::make_pair(ESM::Skill::skillIds[i], MWMechanics::Stat())); } - MyGUI::FactoryManager::getInstance().registerFactory("Widget"); - MyGUI::FactoryManager::getInstance().registerFactory("Widget"); - MyGUI::FactoryManager::getInstance().registerFactory("Widget"); - MyGUI::FactoryManager::getInstance().registerFactory("Widget"); - MyGUI::FactoryManager::getInstance().registerFactory("Widget"); - MyGUI::FactoryManager::getInstance().registerFactory("Widget"); - // Set up visibility updateVisible(); } diff --git a/files/mygui/openmw_dialogue_window_layout.xml b/files/mygui/openmw_dialogue_window_layout.xml index b0e437074..d45de4bd4 100644 --- a/files/mygui/openmw_dialogue_window_layout.xml +++ b/files/mygui/openmw_dialogue_window_layout.xml @@ -19,7 +19,7 @@ - + diff --git a/files/mygui/openmw_list.skin.xml b/files/mygui/openmw_list.skin.xml index 02075ad1a..89cc73123 100644 --- a/files/mygui/openmw_list.skin.xml +++ b/files/mygui/openmw_list.skin.xml @@ -212,6 +212,20 @@ + + + + + + + + + + + + + + diff --git a/files/mygui/openmw_scroll_layout.xml b/files/mygui/openmw_scroll_layout.xml index 4c9ab10e2..8641a0511 100644 --- a/files/mygui/openmw_scroll_layout.xml +++ b/files/mygui/openmw_scroll_layout.xml @@ -15,6 +15,19 @@ + + + + + + + + + + + + + diff --git a/files/mygui/openmw_scroll_skin.xml b/files/mygui/openmw_scroll_skin.xml index 20b952d58..39437d54e 100644 --- a/files/mygui/openmw_scroll_skin.xml +++ b/files/mygui/openmw_scroll_skin.xml @@ -2,4 +2,10 @@ + + + + + + From f20d4eeb414e9b3fdb73115f487996718ca1db63 Mon Sep 17 00:00:00 2001 From: scrawl Date: Sat, 5 May 2012 01:44:51 +0200 Subject: [PATCH 11/22] Bug #281 , openmw.font.xml update --- files/mygui/openmw.font.xml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/files/mygui/openmw.font.xml b/files/mygui/openmw.font.xml index e7d0f50c8..25c44d5ed 100644 --- a/files/mygui/openmw.font.xml +++ b/files/mygui/openmw.font.xml @@ -6,13 +6,13 @@ - + @@ -25,7 +25,6 @@ - @@ -37,4 +36,4 @@ - \ No newline at end of file + From 9dd53b32b80ec78e8af5e2ab0c66f85cbaf7769e Mon Sep 17 00:00:00 2001 From: scrawl Date: Mon, 7 May 2012 02:00:31 +0200 Subject: [PATCH 12/22] added daedric font for magic scrolls --- Daedric Font License.txt | 10 ++++++++++ files/mygui/CMakeLists.txt | 2 ++ files/mygui/Oblivion Worn.ttf | Bin 0 -> 158008 bytes files/mygui/Oblivion.ttf | Bin 0 -> 55364 bytes files/mygui/openmw.font.xml | 13 +++++++++++++ 5 files changed, 25 insertions(+) create mode 100644 Daedric Font License.txt create mode 100644 files/mygui/Oblivion Worn.ttf create mode 100644 files/mygui/Oblivion.ttf diff --git a/Daedric Font License.txt b/Daedric Font License.txt new file mode 100644 index 000000000..a1553d0b0 --- /dev/null +++ b/Daedric Font License.txt @@ -0,0 +1,10 @@ +Dongle's Oblivion Daedric font set +http://www.uesp.net/wiki/Lore:Daedric_Alphabet#Daedric_Font + +--------------------------------------------------- + +This was done entirely as a personal project. Bethesda Softworks graciously granted me the permission for it. I am not connected with them in any way. +You may freely use these fonts to create anything you'd like. You may re-distribute the fonts freely, over the Internet, or by any other means. Always keep the .zip file intact, and this read me included. +Please do not modify and redistribute the fonts without my permission. +You may NOT sell any of these fonts under any circumstances. This includes putting them on compilation font CDs for sale, putting them in a "members only" pay-area of a website, or any other means of financial gain connected in ANY way with the redistribution of any of these fonts. +You have my permission to create and sell any artwork made with these fonts, however you may need to contact Bethesda Softworks before doing so. diff --git a/files/mygui/CMakeLists.txt b/files/mygui/CMakeLists.txt index f712ea67d..d7e86ecff 100644 --- a/files/mygui/CMakeLists.txt +++ b/files/mygui/CMakeLists.txt @@ -58,4 +58,6 @@ configure_file("${SDIR}/atlas1.cfg" "${DDIR}/atlas1.cfg" COPYONLY) configure_file("${SDIR}/smallbars.png" "${DDIR}/smallbars.png" COPYONLY) configure_file("${SDIR}/transparent.png" "${DDIR}/transparent.png" COPYONLY) configure_file("${SDIR}/EBGaramond-Regular.ttf" "${DDIR}/EBGaramond-Regular.ttf" COPYONLY) +configure_file("${SDIR}/Oblivion Worn.ttf" "${DDIR}/Oblivion Worn.ttf" COPYONLY) +configure_file("${SDIR}/Oblivion.ttf" "${DDIR}/Oblivion.ttf" COPYONLY) configure_file("${SDIR}/VeraMono.ttf" "${DDIR}/VeraMono.ttf" COPYONLY) diff --git a/files/mygui/Oblivion Worn.ttf b/files/mygui/Oblivion Worn.ttf new file mode 100644 index 0000000000000000000000000000000000000000..d48f19ebd55483019353b859760a09a4674ade0c GIT binary patch literal 158008 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 z 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�F<|P?9a@w`oo$3M&$Lf0C&= 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�HFq)5sM`sR*^AXmwda0Pf}SO?yVaNsQ|}y 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

u$FrTv*e$4WDs1l)(lF(hkk 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 aQwX;Q3YTj~5Wt;51nvqNz%Yo0%l`{pxIU%; literal 0 HcmV?d00001 diff --git a/files/mygui/Oblivion.ttf b/files/mygui/Oblivion.ttf new file mode 100644 index 0000000000000000000000000000000000000000..ab7e85e745858a629bb030bb21e1466255e12225 GIT binary patch literal 55364 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 veh2)udT8+*>Opk~_#3qV{Han+D literal 0 HcmV?d00001 diff --git a/files/mygui/openmw.font.xml b/files/mygui/openmw.font.xml index 25c44d5ed..e93c9b770 100644 --- a/files/mygui/openmw.font.xml +++ b/files/mygui/openmw.font.xml @@ -19,6 +19,19 @@ + + + + + + + + + + + + + From 3c69d265715cffd27f59ca2b9e01dd71f438aefe Mon Sep 17 00:00:00 2001 From: scrawl Date: Mon, 7 May 2012 19:42:04 +0200 Subject: [PATCH 13/22] journal close sound --- apps/openmw/mwgui/journalwindow.cpp | 10 ++++++++++ apps/openmw/mwgui/journalwindow.hpp | 3 +++ 2 files changed, 13 insertions(+) diff --git a/apps/openmw/mwgui/journalwindow.cpp b/apps/openmw/mwgui/journalwindow.cpp index 4030911a0..e4c38496d 100644 --- a/apps/openmw/mwgui/journalwindow.cpp +++ b/apps/openmw/mwgui/journalwindow.cpp @@ -82,6 +82,7 @@ book formatText(std::string text,book mBook,int maxLine, int lineSize) MWGui::JournalWindow::JournalWindow (WindowManager& parWindowManager) : WindowBase("openmw_journal_layout.xml", parWindowManager) , lastPos(0) + , mVisible(false) { //setCoord(0,0,498, 342); center(); @@ -111,6 +112,15 @@ MWGui::JournalWindow::JournalWindow (WindowManager& parWindowManager) //displayLeftText(list.front()); } +void MWGui::JournalWindow::setVisible(bool visible) +{ + if (mVisible && !visible) + MWBase::Environment::get().getSoundManager()->playSound ("book close", 1.0, 1.0); + mVisible = visible; + + mMainWidget->setVisible(visible); +} + void MWGui::JournalWindow::open() { mPageNumber = 0; diff --git a/apps/openmw/mwgui/journalwindow.hpp b/apps/openmw/mwgui/journalwindow.hpp index c5009d654..cacdb9414 100644 --- a/apps/openmw/mwgui/journalwindow.hpp +++ b/apps/openmw/mwgui/journalwindow.hpp @@ -18,6 +18,8 @@ namespace MWGui JournalWindow(WindowManager& parWindowManager); void open(); + virtual void setVisible(bool visible); // only used to play close sound + private: void displayLeftText(std::string text); void displayRightText(std::string text); @@ -41,6 +43,7 @@ namespace MWGui std::vector leftPages; std::vector rightPages; int mPageNumber; //store the number of the current left page + bool mVisible; }; } From cd351ba3af196d6591cef3577358fd19a3893c28 Mon Sep 17 00:00:00 2001 From: scrawl Date: Tue, 8 May 2012 00:39:52 +0200 Subject: [PATCH 14/22] simple scroll text parsing (tags are ignored until now) --- apps/openmw/CMakeLists.txt | 1 + apps/openmw/mwgui/bookwindow.cpp | 8 +++ apps/openmw/mwgui/formatting.cpp | 95 ++++++++++++++++++++++++++++ apps/openmw/mwgui/formatting.hpp | 38 +++++++++++ apps/openmw/mwgui/scrollwindow.cpp | 17 +++++ apps/openmw/mwgui/scrollwindow.hpp | 1 + files/mygui/openmw_scroll_layout.xml | 9 --- 7 files changed, 160 insertions(+), 9 deletions(-) create mode 100644 apps/openmw/mwgui/formatting.cpp create mode 100644 apps/openmw/mwgui/formatting.hpp diff --git a/apps/openmw/CMakeLists.txt b/apps/openmw/CMakeLists.txt index 29bc86fe3..d7c229cf9 100644 --- a/apps/openmw/CMakeLists.txt +++ b/apps/openmw/CMakeLists.txt @@ -26,6 +26,7 @@ add_openmw_dir (mwgui layouts text_input widgets race class birth review window_manager console dialogue dialogue_history window_base stats_window messagebox journalwindow charactercreation map_window window_pinnable_base cursorreplace tooltips scrollwindow bookwindow list + formatting ) add_openmw_dir (mwdialogue diff --git a/apps/openmw/mwgui/bookwindow.cpp b/apps/openmw/mwgui/bookwindow.cpp index 4b6082b81..3491e6918 100644 --- a/apps/openmw/mwgui/bookwindow.cpp +++ b/apps/openmw/mwgui/bookwindow.cpp @@ -1,5 +1,7 @@ #include "bookwindow.hpp" +#include "formatting.hpp" + #include "../mwbase/environment.hpp" #include "../mwinput/inputmanager.hpp" #include "../mwsound/soundmanager.hpp" @@ -30,6 +32,12 @@ void BookWindow::open (MWWorld::Ptr book) MWBase::Environment::get().getSoundManager()->playSound3D (book, "book open", 1.0, 1.0); mBook = book; + + ESMS::LiveCellRef *ref = + mBook.get(); + + //BookTextParser parser; + //parser.parse(ref->base->text, 0, 0); } void BookWindow::onCloseButtonClicked (MyGUI::Widget* _sender) diff --git a/apps/openmw/mwgui/formatting.cpp b/apps/openmw/mwgui/formatting.cpp new file mode 100644 index 000000000..547c12c35 --- /dev/null +++ b/apps/openmw/mwgui/formatting.cpp @@ -0,0 +1,95 @@ +#include "formatting.hpp" + +#include +#include +#include + +using namespace MWGui; + +MyGUI::IntSize BookTextParser::parse(std::string text, MyGUI::Widget* parent, const int width) +{ + mParent = parent; + mWidth = width; + + assert(mParent); + while (mParent->getChildCount()) + { + MyGUI::Gui::getInstance().destroyWidget(mParent->getChildAt(0)); + } + + boost::algorithm::replace_all(text, "
", "\n"); + + // remove leading newlines + //while (text[0] == '\n') + // text.erase(0); + + // remove trailing " and newlines + if (text[text.size()-1] == '\"') + text.erase(text.size()-1); + while (text[text.size()-1] == '\n') + text.erase(text.size()-1); + + return parseSubText(text, -1, MyGUI::Align::Left | MyGUI::Align::Top); +} + +MyGUI::IntSize BookTextParser::parseSubText(std::string text, int textSize, MyGUI::Align textAlign) +{ + MyGUI::IntSize size(mWidth,0); + + bool tagFound = false; + std::string realText; // real text, without tags + for (unsigned int i=0; i= text.size()) + throw std::runtime_error("BookTextParser Error: Tag is not terminated"); + ++i; + c = text[i]; + } + continue; + } + else + { + tagFound = true; + while (c != '>') + { + if (i >= text.size()) + throw std::runtime_error("BookTextParser Error: Tag is not terminated"); + + c = text[++i]; + } + ++i; + /// \todo parse tags + size += parseSubText(text.substr(i, text.size()), textSize, textAlign); + break; + } + } + else + realText += c; + } + + if (!tagFound) + { + MyGUI::EditBox* box = mParent->createWidget("NormalText", + MyGUI::IntCoord(0, size.height, mWidth, 24), MyGUI::Align::Left | MyGUI::Align::Top, + mParent->getName() + boost::lexical_cast(mParent->getChildCount())); + box->setProperty("Static", "true"); + box->setProperty("MultiLine", "true"); + box->setProperty("WordWrap", "true"); + box->setProperty("NeedMouse", "false"); + box->setMaxTextLength(realText.size()); + box->setTextAlign(textAlign); + box->setTextColour(MyGUI::Colour(0,0,0)); + box->setCaption(realText); + box->setSize(box->getSize().width, box->getTextSize().height); + size += MyGUI::IntSize(0, box->getTextSize().height); + } + + return size; +} diff --git a/apps/openmw/mwgui/formatting.hpp b/apps/openmw/mwgui/formatting.hpp new file mode 100644 index 000000000..b60137f35 --- /dev/null +++ b/apps/openmw/mwgui/formatting.hpp @@ -0,0 +1,38 @@ +#ifndef MWGUI_FORMATTING_H +#define MWGUI_FORMATTING_H + +#include + +#include + +namespace MWGui +{ + /// \brief utilities for parsing book/scroll text as mygui widgets + class BookTextParser + { + public: + /** + * Parse markup as MyGUI widgets + * @param markup to parse + * @param parent for the created widgets + * @param maximum width + * @return size of the created widgets + */ + MyGUI::IntSize parse(std::string text, MyGUI::Widget* parent, const int width); + + protected: + /** + * @param text to parse + * @param text size (-1 means default) + * @param text align + * @return size of the created widgets + */ + MyGUI::IntSize parseSubText(std::string text, int textSize, MyGUI::Align textAlign); + + private: + MyGUI::Widget* mParent; + int mWidth; + }; +} + +#endif diff --git a/apps/openmw/mwgui/scrollwindow.cpp b/apps/openmw/mwgui/scrollwindow.cpp index a5135722f..babf439ac 100644 --- a/apps/openmw/mwgui/scrollwindow.cpp +++ b/apps/openmw/mwgui/scrollwindow.cpp @@ -1,5 +1,7 @@ #include "scrollwindow.hpp" +#include "formatting.hpp" + #include "../mwbase/environment.hpp" #include "../mwinput/inputmanager.hpp" #include "../mwworld/actiontake.hpp" @@ -10,6 +12,8 @@ using namespace MWGui; ScrollWindow::ScrollWindow (WindowManager& parWindowManager) : WindowBase("openmw_scroll_layout.xml", parWindowManager) { + getWidget(mTextView, "TextView"); + getWidget(mCloseButton, "CloseButton"); mCloseButton->eventMouseButtonClick += MyGUI::newDelegate(this, &ScrollWindow::onCloseButtonClicked); @@ -24,6 +28,19 @@ void ScrollWindow::open (MWWorld::Ptr scroll) MWBase::Environment::get().getSoundManager()->playSound3D (scroll, "scroll", 1.0, 1.0); mScroll = scroll; + + ESMS::LiveCellRef *ref = + mScroll.get(); + + BookTextParser parser; + MyGUI::IntSize size = parser.parse(ref->base->text, mTextView, 390); + + if (size.height > mTextView->getSize().height) + mTextView->setCanvasSize(size); + else + mTextView->setCanvasSize(390, mTextView->getSize().height); + + mTextView->setViewOffset(MyGUI::IntPoint(0,0)); } void ScrollWindow::onCloseButtonClicked (MyGUI::Widget* _sender) diff --git a/apps/openmw/mwgui/scrollwindow.hpp b/apps/openmw/mwgui/scrollwindow.hpp index e4968995e..918a3d3ef 100644 --- a/apps/openmw/mwgui/scrollwindow.hpp +++ b/apps/openmw/mwgui/scrollwindow.hpp @@ -20,6 +20,7 @@ namespace MWGui private: MyGUI::Button* mCloseButton; MyGUI::Button* mTakeButton; + MyGUI::ScrollView* mTextView; MWWorld::Ptr mScroll; }; diff --git a/files/mygui/openmw_scroll_layout.xml b/files/mygui/openmw_scroll_layout.xml index 8641a0511..0f4a0be3e 100644 --- a/files/mygui/openmw_scroll_layout.xml +++ b/files/mygui/openmw_scroll_layout.xml @@ -17,15 +17,6 @@ - - - - - - - - - From 8e7ab09a25bc9db3edc82916ff58eeb36d699a6f Mon Sep 17 00:00:00 2001 From: scrawl Date: Wed, 9 May 2012 01:34:32 +0200 Subject: [PATCH 15/22] scroll window image tags working --- apps/openmw/mwgui/bookwindow.cpp | 2 + apps/openmw/mwgui/formatting.cpp | 94 ++++++++++++++++++++---------- apps/openmw/mwgui/formatting.hpp | 30 +++++++--- apps/openmw/mwgui/scrollwindow.cpp | 6 +- 4 files changed, 92 insertions(+), 40 deletions(-) diff --git a/apps/openmw/mwgui/bookwindow.cpp b/apps/openmw/mwgui/bookwindow.cpp index 3491e6918..75be6280a 100644 --- a/apps/openmw/mwgui/bookwindow.cpp +++ b/apps/openmw/mwgui/bookwindow.cpp @@ -54,6 +54,8 @@ void BookWindow::onTakeButtonClicked (MyGUI::Widget* _sender) MWWorld::ActionTake take(mBook); take.execute(); + /// \todo what about scripts? + MWBase::Environment::get().getInputManager()->setGuiMode (GM_Game); } diff --git a/apps/openmw/mwgui/formatting.cpp b/apps/openmw/mwgui/formatting.cpp index 547c12c35..6c53c6873 100644 --- a/apps/openmw/mwgui/formatting.cpp +++ b/apps/openmw/mwgui/formatting.cpp @@ -10,6 +10,7 @@ MyGUI::IntSize BookTextParser::parse(std::string text, MyGUI::Widget* parent, co { mParent = parent; mWidth = width; + mHeight = 0; assert(mParent); while (mParent->getChildCount()) @@ -29,16 +30,58 @@ MyGUI::IntSize BookTextParser::parse(std::string text, MyGUI::Widget* parent, co while (text[text.size()-1] == '\n') text.erase(text.size()-1); - return parseSubText(text, -1, MyGUI::Align::Left | MyGUI::Align::Top); + parseSubText(text); + return MyGUI::IntSize(mWidth, mHeight); } -MyGUI::IntSize BookTextParser::parseSubText(std::string text, int textSize, MyGUI::Align textAlign) +void BookTextParser::parseImage(std::string tag) { - MyGUI::IntSize size(mWidth,0); + int src_start = tag.find("SRC=")+5; + std::string image = tag.substr(src_start, tag.find('"', src_start)-src_start); + + // fix texture extension to .dds + if (image.size() > 4) + { + image[image.size()-3] = 'd'; + image[image.size()-2] = 'd'; + image[image.size()-1] = 's'; + } + + int width_start = tag.find("WIDTH=")+7; + int width = boost::lexical_cast(tag.substr(width_start, tag.find('"', width_start)-width_start)); + + int height_start = tag.find("HEIGHT=")+8; + int height = boost::lexical_cast(tag.substr(height_start, tag.find('"', height_start)-height_start)); + + MyGUI::ImageBox* box = mParent->createWidget ("ImageBox", + MyGUI::IntCoord(0, mHeight, width, height), MyGUI::Align::Left | MyGUI::Align::Top, + mParent->getName() + boost::lexical_cast(mParent->getChildCount())); + box->setImageTexture("bookart\\" + image); + box->setProperty("NeedMouse", "false"); + + mWidth = std::max(mWidth, width); + mHeight += height; +} + +void BookTextParser::parseSubText(std::string text) +{ + if (text[0] == '<') + { + if (text.find('>') == std::string::npos) + throw std::runtime_error("BookTextParser Error: Tag is not terminated"); + + if (text.size() > 4 && text.substr(0, 4) == "'))); + } + + text.erase(0, text.find('>')+1); + } bool tagFound = false; std::string realText; // real text, without tags - for (unsigned int i=0; i= text.size()) - throw std::runtime_error("BookTextParser Error: Tag is not terminated"); - - c = text[++i]; - } - ++i; - /// \todo parse tags - size += parseSubText(text.substr(i, text.size()), textSize, textAlign); break; } } @@ -74,22 +107,23 @@ MyGUI::IntSize BookTextParser::parseSubText(std::string text, int textSize, MyGU realText += c; } - if (!tagFound) + MyGUI::EditBox* box = mParent->createWidget("NormalText", + MyGUI::IntCoord(0, mHeight, mWidth, 24), MyGUI::Align::Left | MyGUI::Align::Top, + mParent->getName() + boost::lexical_cast(mParent->getChildCount())); + box->setProperty("Static", "true"); + box->setProperty("MultiLine", "true"); + box->setProperty("WordWrap", "true"); + box->setProperty("NeedMouse", "false"); + box->setMaxTextLength(realText.size()); + box->setTextAlign(mTextStyle.mTextAlign); + box->setTextColour(mTextStyle.mColour); + box->setFontName(mTextStyle.mFont); + box->setCaption(realText); + box->setSize(box->getSize().width, box->getTextSize().height); + mHeight += box->getTextSize().height; + + if (tagFound) { - MyGUI::EditBox* box = mParent->createWidget("NormalText", - MyGUI::IntCoord(0, size.height, mWidth, 24), MyGUI::Align::Left | MyGUI::Align::Top, - mParent->getName() + boost::lexical_cast(mParent->getChildCount())); - box->setProperty("Static", "true"); - box->setProperty("MultiLine", "true"); - box->setProperty("WordWrap", "true"); - box->setProperty("NeedMouse", "false"); - box->setMaxTextLength(realText.size()); - box->setTextAlign(textAlign); - box->setTextColour(MyGUI::Colour(0,0,0)); - box->setCaption(realText); - box->setSize(box->getSize().width, box->getTextSize().height); - size += MyGUI::IntSize(0, box->getTextSize().height); + parseSubText(text.substr(i, text.size())); } - - return size; } diff --git a/apps/openmw/mwgui/formatting.hpp b/apps/openmw/mwgui/formatting.hpp index b60137f35..9fd815003 100644 --- a/apps/openmw/mwgui/formatting.hpp +++ b/apps/openmw/mwgui/formatting.hpp @@ -7,6 +7,22 @@ namespace MWGui { + struct TextStyle + { + TextStyle() : + mColour(0,0,0) + , mFont("Default") + , mTextSize(16) + , mTextAlign(MyGUI::Align::Left | MyGUI::Align::Top) + { + } + + MyGUI::Colour mColour; + std::string mFont; + int mTextSize; + MyGUI::Align mTextAlign; + }; + /// \brief utilities for parsing book/scroll text as mygui widgets class BookTextParser { @@ -21,17 +37,15 @@ namespace MWGui MyGUI::IntSize parse(std::string text, MyGUI::Widget* parent, const int width); protected: - /** - * @param text to parse - * @param text size (-1 means default) - * @param text align - * @return size of the created widgets - */ - MyGUI::IntSize parseSubText(std::string text, int textSize, MyGUI::Align textAlign); + void parseSubText(std::string text); + + void parseImage(std::string tag); private: MyGUI::Widget* mParent; - int mWidth; + int mWidth; // maximum width + int mHeight; // current height + TextStyle mTextStyle; }; } diff --git a/apps/openmw/mwgui/scrollwindow.cpp b/apps/openmw/mwgui/scrollwindow.cpp index babf439ac..b1c5ec337 100644 --- a/apps/openmw/mwgui/scrollwindow.cpp +++ b/apps/openmw/mwgui/scrollwindow.cpp @@ -36,9 +36,9 @@ void ScrollWindow::open (MWWorld::Ptr scroll) MyGUI::IntSize size = parser.parse(ref->base->text, mTextView, 390); if (size.height > mTextView->getSize().height) - mTextView->setCanvasSize(size); + mTextView->setCanvasSize(MyGUI::IntSize(410, size.height)); else - mTextView->setCanvasSize(390, mTextView->getSize().height); + mTextView->setCanvasSize(410, mTextView->getSize().height); mTextView->setViewOffset(MyGUI::IntPoint(0,0)); } @@ -57,5 +57,7 @@ void ScrollWindow::onTakeButtonClicked (MyGUI::Widget* _sender) MWWorld::ActionTake take(mScroll); take.execute(); + /// \todo what about scripts? + MWBase::Environment::get().getInputManager()->setGuiMode (GM_Game); } From e5e8663bb4e2f49644504f3d0fb182cba2c6300a Mon Sep 17 00:00:00 2001 From: scrawl Date: Wed, 9 May 2012 02:11:44 +0200 Subject: [PATCH 16/22] parse

and

--- apps/openmw/mwgui/formatting.cpp | 109 +++++++++++++++++++++++++++++-- apps/openmw/mwgui/formatting.hpp | 3 +- 2 files changed, 106 insertions(+), 6 deletions(-) diff --git a/apps/openmw/mwgui/formatting.cpp b/apps/openmw/mwgui/formatting.cpp index 6c53c6873..6b50fd04d 100644 --- a/apps/openmw/mwgui/formatting.cpp +++ b/apps/openmw/mwgui/formatting.cpp @@ -6,6 +6,65 @@ using namespace MWGui; +namespace +{ + int convertFromHex(std::string hex) + { + int value = 0; + + int a = 0; + int b = hex.length() - 1; + for (; b >= 0; a++, b--) + { + if (hex[b] >= '0' && hex[b] <= '9') + { + value += (hex[b] - '0') * (1 << (a * 4)); + } + else + { + switch (hex[b]) + { + case 'A': + case 'a': + value += 10 * (1 << (a * 4)); + break; + + case 'B': + case 'b': + value += 11 * (1 << (a * 4)); + break; + + case 'C': + case 'c': + value += 12 * (1 << (a * 4)); + break; + + case 'D': + case 'd': + value += 13 * (1 << (a * 4)); + break; + + case 'E': + case 'e': + value += 14 * (1 << (a * 4)); + break; + + case 'F': + case 'f': + value += 15 * (1 << (a * 4)); + break; + + default: + throw std::runtime_error("invalid character in hex number"); + break; + } + } + } + + return value; + } +} + MyGUI::IntSize BookTextParser::parse(std::string text, MyGUI::Widget* parent, const int width) { mParent = parent; @@ -19,16 +78,15 @@ MyGUI::IntSize BookTextParser::parse(std::string text, MyGUI::Widget* parent, co } boost::algorithm::replace_all(text, "
", "\n"); + boost::algorithm::replace_all(text, "

", "\n\n"); // remove leading newlines //while (text[0] == '\n') // text.erase(0); - // remove trailing " and newlines + // remove trailing " if (text[text.size()-1] == '\"') text.erase(text.size()-1); - while (text[text.size()-1] == '\n') - text.erase(text.size()-1); parseSubText(text); return MyGUI::IntSize(mWidth, mHeight); @@ -63,6 +121,45 @@ void BookTextParser::parseImage(std::string tag) mHeight += height; } +void BookTextParser::parseDiv(std::string tag) +{ + if (tag.find("ALIGN=") == std::string::npos) + return; + + int align_start = tag.find("ALIGN=")+7; + std::string align = tag.substr(align_start, tag.find('"', align_start)-align_start); + if (align == "CENTER") + mTextStyle.mTextAlign = MyGUI::Align::HCenter; + else if (align == "LEFT") + mTextStyle.mTextAlign = MyGUI::Align::Left; +} + +void BookTextParser::parseFont(std::string tag) +{ + if (tag.find("COLOR=") != std::string::npos) + { + int color_start = tag.find("COLOR=")+7; + std::string color = tag.substr(color_start, tag.find('"', color_start)-color_start); + + mTextStyle.mColour = MyGUI::Colour( + convertFromHex(color.substr(0, 2))/255.0, + convertFromHex(color.substr(2, 2))/255.0, + convertFromHex(color.substr(4, 2))/255.0); + } + if (tag.find("FACE=") != std::string::npos) + { + int face_start = tag.find("FACE=")+6; + std::string face = tag.substr(face_start, tag.find('"', face_start)-face_start); + + if (face != "Magic Cards") + mTextStyle.mFont = face; + } + if (tag.find("SIZE=") != std::string::npos) + { + /// \todo + } +} + void BookTextParser::parseSubText(std::string text) { if (text[0] == '<') @@ -71,9 +168,11 @@ void BookTextParser::parseSubText(std::string text) throw std::runtime_error("BookTextParser Error: Tag is not terminated"); if (text.size() > 4 && text.substr(0, 4) == "'))); - } + else if (text.size() > 5 && text.substr(0, 5) == "'))); + else if (text.size() > 4 && text.substr(0, 4) == "'))); text.erase(0, text.find('>')+1); } diff --git a/apps/openmw/mwgui/formatting.hpp b/apps/openmw/mwgui/formatting.hpp index 9fd815003..19b696918 100644 --- a/apps/openmw/mwgui/formatting.hpp +++ b/apps/openmw/mwgui/formatting.hpp @@ -40,7 +40,8 @@ namespace MWGui void parseSubText(std::string text); void parseImage(std::string tag); - + void parseDiv(std::string tag); + void parseFont(std::string tag); private: MyGUI::Widget* mParent; int mWidth; // maximum width From d69501b061f6443a485139ee46d2edbebafb4e27 Mon Sep 17 00:00:00 2001 From: scrawl Date: Wed, 9 May 2012 02:16:10 +0200 Subject: [PATCH 17/22] change daedric font to .zip resource --- apps/openmw/engine.cpp | 7 +++++++ apps/openmw/engine.hpp | 4 +++- files/mygui/CMakeLists.txt | 3 +-- files/mygui/Oblivion Worn.ttf | Bin 158008 -> 0 bytes files/mygui/Oblivion.ttf | Bin 55364 -> 0 bytes files/mygui/Obliviontt.zip | Bin 0 -> 138502 bytes files/mygui/openmw.font.xml | 4 ++-- 7 files changed, 13 insertions(+), 5 deletions(-) delete mode 100644 files/mygui/Oblivion Worn.ttf delete mode 100644 files/mygui/Oblivion.ttf create mode 100644 files/mygui/Obliviontt.zip diff --git a/apps/openmw/engine.cpp b/apps/openmw/engine.cpp index 319c42bbd..a00d764b0 100644 --- a/apps/openmw/engine.cpp +++ b/apps/openmw/engine.cpp @@ -194,6 +194,12 @@ void OMW::Engine::addResourcesDirectory (const boost::filesystem::path& path) Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME, true); } +void OMW::Engine::addZipResource (const boost::filesystem::path& path) +{ + mOgre->getRoot()->addResourceLocation (path.string(), "Zip", + Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME, false); +} + void OMW::Engine::enableFSStrict(bool fsStrict) { mFSStrict = fsStrict; @@ -314,6 +320,7 @@ void OMW::Engine::go() addResourcesDirectory(mResDir / "water"); addResourcesDirectory(mResDir / "gbuffer"); addResourcesDirectory(mResDir / "shadows"); + addZipResource(mResDir / "mygui" / "Obliviontt.zip"); // Create the window mOgre->createWindow("OpenMW"); diff --git a/apps/openmw/engine.hpp b/apps/openmw/engine.hpp index 63464a40d..cf1ef3b9c 100644 --- a/apps/openmw/engine.hpp +++ b/apps/openmw/engine.hpp @@ -91,9 +91,11 @@ namespace OMW /// add resources directory /// \note This function works recursively. - void addResourcesDirectory (const boost::filesystem::path& path); + /// add a .zip resource + void addZipResource (const boost::filesystem::path& path); + /// Load all BSA files in data directory. void loadBSA(); diff --git a/files/mygui/CMakeLists.txt b/files/mygui/CMakeLists.txt index d7e86ecff..ac803646e 100644 --- a/files/mygui/CMakeLists.txt +++ b/files/mygui/CMakeLists.txt @@ -58,6 +58,5 @@ configure_file("${SDIR}/atlas1.cfg" "${DDIR}/atlas1.cfg" COPYONLY) configure_file("${SDIR}/smallbars.png" "${DDIR}/smallbars.png" COPYONLY) configure_file("${SDIR}/transparent.png" "${DDIR}/transparent.png" COPYONLY) configure_file("${SDIR}/EBGaramond-Regular.ttf" "${DDIR}/EBGaramond-Regular.ttf" COPYONLY) -configure_file("${SDIR}/Oblivion Worn.ttf" "${DDIR}/Oblivion Worn.ttf" COPYONLY) -configure_file("${SDIR}/Oblivion.ttf" "${DDIR}/Oblivion.ttf" COPYONLY) +configure_file("${SDIR}/Obliviontt.zip" "${DDIR}/Obliviontt.zip" COPYONLY) configure_file("${SDIR}/VeraMono.ttf" "${DDIR}/VeraMono.ttf" COPYONLY) diff --git a/files/mygui/Oblivion Worn.ttf b/files/mygui/Oblivion Worn.ttf deleted file mode 100644 index d48f19ebd55483019353b859760a09a4674ade0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 158008 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 z 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�F<|P?9a@w`oo$3M&$Lf0C&= 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�HFq)5sM`sR*^AXmwda0Pf}SO?yVaNsQ|}y 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

u$FrTv*e$4WDs1l)(lF(hkk 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 aQwX;Q3YTj~5Wt;51nvqNz%Yo0%l`{pxIU%; diff --git a/files/mygui/Oblivion.ttf b/files/mygui/Oblivion.ttf deleted file mode 100644 index ab7e85e745858a629bb030bb21e1466255e12225..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55364 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 veh2)udT8+*>Opk~_#3qV{Han+D diff --git a/files/mygui/Obliviontt.zip b/files/mygui/Obliviontt.zip new file mode 100644 index 0000000000000000000000000000000000000000..af4f809fd846cff444d5b1f09c7e86df1b6207d1 GIT binary patch literal 138502 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⁡xddcV`NI&{-&A;hf~zQpRC??m3?0ZBLV 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 Z|2M=R(QxzpFvfG(^Em(jU#TDd{1aQG&olr4 literal 0 HcmV?d00001 diff --git a/files/mygui/openmw.font.xml b/files/mygui/openmw.font.xml index e93c9b770..252499a5f 100644 --- a/files/mygui/openmw.font.xml +++ b/files/mygui/openmw.font.xml @@ -20,8 +20,8 @@ - - + + From 8a9e05a96b73e47238084305f456a869ecc9abe2 Mon Sep 17 00:00:00 2001 From: scrawl Date: Thu, 10 May 2012 11:03:27 +0200 Subject: [PATCH 18/22] display text on the book window --- apps/openmw/mwgui/bookwindow.cpp | 84 ++++++++++++++-- apps/openmw/mwgui/bookwindow.hpp | 10 ++ apps/openmw/mwgui/formatting.cpp | 132 +++++++++++++++++++++++--- apps/openmw/mwgui/formatting.hpp | 7 +- apps/openmw/mwgui/scrollwindow.cpp | 2 - files/mygui/openmw_book_layout.xml | 11 ++- files/mygui/openmw_journal_layout.xml | 4 +- 7 files changed, 223 insertions(+), 27 deletions(-) diff --git a/apps/openmw/mwgui/bookwindow.cpp b/apps/openmw/mwgui/bookwindow.cpp index 75be6280a..8de45984c 100644 --- a/apps/openmw/mwgui/bookwindow.cpp +++ b/apps/openmw/mwgui/bookwindow.cpp @@ -7,6 +7,8 @@ #include "../mwsound/soundmanager.hpp" #include "../mwworld/actiontake.hpp" +#include + using namespace MWGui; BookWindow::BookWindow (WindowManager& parWindowManager) : @@ -24,20 +26,57 @@ BookWindow::BookWindow (WindowManager& parWindowManager) : getWidget(mPrevPageButton, "PrevPageBTN"); mPrevPageButton->eventMouseButtonClick += MyGUI::newDelegate(this, &BookWindow::onPrevPageButtonClicked); + getWidget(mLeftPageNumber, "LeftPageNumber"); + getWidget(mRightPageNumber, "RightPageNumber"); + + getWidget(mLeftPage, "LeftPage"); + getWidget(mRightPage, "RightPage"); + center(); } -void BookWindow::open (MWWorld::Ptr book) +void BookWindow::clearPages() { - MWBase::Environment::get().getSoundManager()->playSound3D (book, "book open", 1.0, 1.0); + for (std::vector::iterator it=mPages.begin(); + it!=mPages.end(); ++it) + { + MyGUI::Gui::getInstance().destroyWidget(*it); + } + mPages.clear(); +} +void BookWindow::open (MWWorld::Ptr book) +{ mBook = book; + clearPages(); + mCurrentPage = 0; + + MWBase::Environment::get().getSoundManager()->playSound3D (book, "book open", 1.0, 1.0); + ESMS::LiveCellRef *ref = mBook.get(); - //BookTextParser parser; - //parser.parse(ref->base->text, 0, 0); + BookTextParser parser; + std::vector results = parser.split(ref->base->text, mLeftPage->getSize().width, mLeftPage->getSize().height); + + int i=0; + for (std::vector::iterator it=results.begin(); + it!=results.end(); ++it) + { + MyGUI::Widget* parent; + if (i%2 == 0) + parent = mLeftPage; + else + parent = mRightPage; + + MyGUI::Widget* pageWidget = parent->createWidgetReal("", MyGUI::FloatCoord(0.0,0.0,1.0,1.0), MyGUI::Align::Default, "BookPage" + boost::lexical_cast(i)); + parser.parse(*it, pageWidget, mLeftPage->getSize().width); + mPages.push_back(pageWidget); + ++i; + } + + updatePages(); } void BookWindow::onCloseButtonClicked (MyGUI::Widget* _sender) @@ -54,15 +93,48 @@ void BookWindow::onTakeButtonClicked (MyGUI::Widget* _sender) MWWorld::ActionTake take(mBook); take.execute(); - /// \todo what about scripts? - MWBase::Environment::get().getInputManager()->setGuiMode (GM_Game); } void BookWindow::onNextPageButtonClicked (MyGUI::Widget* _sender) { + if ((mCurrentPage+1)*2 < mPages.size()) + { + MWBase::Environment::get().getSoundManager()->playSound ("book page2", 1.0, 1.0); + + ++mCurrentPage; + + updatePages(); + } } void BookWindow::onPrevPageButtonClicked (MyGUI::Widget* _sender) { + if (mCurrentPage > 0) + { + MWBase::Environment::get().getSoundManager()->playSound ("book page", 1.0, 1.0); + + --mCurrentPage; + + updatePages(); + } +} + +void BookWindow::updatePages() +{ + mLeftPageNumber->setCaption( boost::lexical_cast(mCurrentPage*2 + 1) ); + mRightPageNumber->setCaption( boost::lexical_cast(mCurrentPage*2 + 2) ); + + unsigned int i=0; + for (std::vector::iterator it = mPages.begin(); + it != mPages.end(); ++it) + { + if (mCurrentPage*2 == i || mCurrentPage*2+1 == i) + (*it)->setVisible(true); + else + { + (*it)->setVisible(false); + } + ++i; + } } diff --git a/apps/openmw/mwgui/bookwindow.hpp b/apps/openmw/mwgui/bookwindow.hpp index bc017e326..fcea1d11f 100644 --- a/apps/openmw/mwgui/bookwindow.hpp +++ b/apps/openmw/mwgui/bookwindow.hpp @@ -19,11 +19,21 @@ namespace MWGui void onCloseButtonClicked (MyGUI::Widget* _sender); void onTakeButtonClicked (MyGUI::Widget* _sender); + void updatePages(); + void clearPages(); + private: MyGUI::Button* mCloseButton; MyGUI::Button* mTakeButton; MyGUI::Button* mNextPageButton; MyGUI::Button* mPrevPageButton; + MyGUI::TextBox* mLeftPageNumber; + MyGUI::TextBox* mRightPageNumber; + MyGUI::Widget* mLeftPage; + MyGUI::Widget* mRightPage; + + unsigned int mCurrentPage; // 0 is first page + std::vector mPages; MWWorld::Ptr mBook; }; diff --git a/apps/openmw/mwgui/formatting.cpp b/apps/openmw/mwgui/formatting.cpp index 6b50fd04d..e031678ae 100644 --- a/apps/openmw/mwgui/formatting.cpp +++ b/apps/openmw/mwgui/formatting.cpp @@ -11,7 +11,7 @@ namespace int convertFromHex(std::string hex) { int value = 0; - + int a = 0; int b = hex.length() - 1; for (; b >= 0; a++, b--) @@ -28,43 +28,144 @@ namespace case 'a': value += 10 * (1 << (a * 4)); break; - + case 'B': case 'b': value += 11 * (1 << (a * 4)); break; - + case 'C': case 'c': value += 12 * (1 << (a * 4)); break; - + case 'D': case 'd': value += 13 * (1 << (a * 4)); break; - + case 'E': case 'e': value += 14 * (1 << (a * 4)); break; - + case 'F': case 'f': value += 15 * (1 << (a * 4)); break; - + default: throw std::runtime_error("invalid character in hex number"); break; } } } - + return value; } } +std::vector BookTextParser::split(std::string text, const int width, const int height) +{ + std::vector result; + + boost::algorithm::replace_all(text, "
", "\n"); + boost::algorithm::replace_all(text, "

", "\n\n"); + + const int spacing = 48; + + while (text.size() > 0) + { + // read in characters until we have exceeded the size, or run out of text + int currentWidth = 0; + int currentHeight = 0; + std::string currentText; + std::string currentWord; + + unsigned int i=0; + while (currentHeight <= height-spacing && i', i) == std::string::npos) + throw std::runtime_error("BookTextParser Error: Tag is not terminated"); + + if (text.size() > i+4 && text.substr(i, 4) == "', i)-i), false); + currentHeight += (mHeight-h); + currentWidth = 0; + } + else if (text.size() > i+5 && text.substr(i, 5) == "', i)-i)); + currentHeight += 18; // keep this in sync with the font size + currentWidth = 0; + } + else if (text.size() > i+4 && text.substr(i, 4) == "', i)-i)); + currentHeight += 18; // keep this in sync with the font size + currentWidth = 0; + } + + currentText += text.substr(i, text.find('>', i)-i+1); + i = text.find('>', i); + } + else if (text[i] == '\n') + { + currentHeight += 18; // keep this in sync with the font size + currentWidth = 0; + currentWord = ""; + currentText += text[i]; + } + else if (text[i] == ' ') + { + currentWidth += 3; // keep this in sync with the font's SpaceWidth property + currentWord = ""; + currentText += text[i]; + } + else + { + currentWidth += + MyGUI::FontManager::getInstance().getByName (mTextStyle.mFont == "Default" ? "EB Garamond" : mTextStyle.mFont) + ->getGlyphInfo(static_cast(text[i]))->width; + currentWord += text[i]; + currentText += text[i]; + } + + if (currentWidth > width) + { + currentHeight += 18; // keep this in sync with the font size + currentWidth = 0; + + // add size of the current word + unsigned int j=0; + while (jgetGlyphInfo(static_cast(currentWord[j]))->width; + ++j; + } + } + + ++i; + } + if (currentHeight > height-spacing) + { + // remove the last word + currentText.erase(currentText.size()-currentWord.size(), currentText.size()); + } + + result.push_back(currentText); + text.erase(0, currentText.size()); + } + + return result; +} + MyGUI::IntSize BookTextParser::parse(std::string text, MyGUI::Widget* parent, const int width) { mParent = parent; @@ -92,7 +193,7 @@ MyGUI::IntSize BookTextParser::parse(std::string text, MyGUI::Widget* parent, co return MyGUI::IntSize(mWidth, mHeight); } -void BookTextParser::parseImage(std::string tag) +void BookTextParser::parseImage(std::string tag, bool createWidget) { int src_start = tag.find("SRC=")+5; std::string image = tag.substr(src_start, tag.find('"', src_start)-src_start); @@ -111,11 +212,14 @@ void BookTextParser::parseImage(std::string tag) int height_start = tag.find("HEIGHT=")+8; int height = boost::lexical_cast(tag.substr(height_start, tag.find('"', height_start)-height_start)); - MyGUI::ImageBox* box = mParent->createWidget ("ImageBox", - MyGUI::IntCoord(0, mHeight, width, height), MyGUI::Align::Left | MyGUI::Align::Top, - mParent->getName() + boost::lexical_cast(mParent->getChildCount())); - box->setImageTexture("bookart\\" + image); - box->setProperty("NeedMouse", "false"); + if (createWidget) + { + MyGUI::ImageBox* box = mParent->createWidget ("ImageBox", + MyGUI::IntCoord(0, mHeight, width, height), MyGUI::Align::Left | MyGUI::Align::Top, + mParent->getName() + boost::lexical_cast(mParent->getChildCount())); + box->setImageTexture("bookart\\" + image); + box->setProperty("NeedMouse", "false"); + } mWidth = std::max(mWidth, width); mHeight += height; diff --git a/apps/openmw/mwgui/formatting.hpp b/apps/openmw/mwgui/formatting.hpp index 19b696918..c8f2c9e44 100644 --- a/apps/openmw/mwgui/formatting.hpp +++ b/apps/openmw/mwgui/formatting.hpp @@ -36,10 +36,15 @@ namespace MWGui */ MyGUI::IntSize parse(std::string text, MyGUI::Widget* parent, const int width); + /** + * Split the specified text into pieces that fit in the area specified by width and height parameters + */ + std::vector split(std::string text, const int width, const int height); + protected: void parseSubText(std::string text); - void parseImage(std::string tag); + void parseImage(std::string tag, bool createWidget=true); void parseDiv(std::string tag); void parseFont(std::string tag); private: diff --git a/apps/openmw/mwgui/scrollwindow.cpp b/apps/openmw/mwgui/scrollwindow.cpp index b1c5ec337..38e2f77c1 100644 --- a/apps/openmw/mwgui/scrollwindow.cpp +++ b/apps/openmw/mwgui/scrollwindow.cpp @@ -57,7 +57,5 @@ void ScrollWindow::onTakeButtonClicked (MyGUI::Widget* _sender) MWWorld::ActionTake take(mScroll); take.execute(); - /// \todo what about scripts? - MWBase::Environment::get().getInputManager()->setGuiMode (GM_Game); } diff --git a/files/mygui/openmw_book_layout.xml b/files/mygui/openmw_book_layout.xml index 36f93a067..07ebf5030 100644 --- a/files/mygui/openmw_book_layout.xml +++ b/files/mygui/openmw_book_layout.xml @@ -20,8 +20,15 @@ - - + + + + + + + + + diff --git a/files/mygui/openmw_journal_layout.xml b/files/mygui/openmw_journal_layout.xml index 906e87297..75bb5eea1 100644 --- a/files/mygui/openmw_journal_layout.xml +++ b/files/mygui/openmw_journal_layout.xml @@ -13,8 +13,8 @@ - - + + From de995e3a69f60c9bff28c15ccfe3f9cd4c3fcc67 Mon Sep 17 00:00:00 2001 From: scrawl Date: Thu, 10 May 2012 11:19:22 +0200 Subject: [PATCH 19/22] adjust topic list on window resize --- apps/openmw/mwgui/dialogue.cpp | 7 +++++++ apps/openmw/mwgui/dialogue.hpp | 1 + apps/openmw/mwgui/list.cpp | 5 +++++ apps/openmw/mwgui/list.hpp | 7 ++++++- 4 files changed, 19 insertions(+), 1 deletion(-) diff --git a/apps/openmw/mwgui/dialogue.cpp b/apps/openmw/mwgui/dialogue.cpp index 3d47aa7dc..2e7429055 100644 --- a/apps/openmw/mwgui/dialogue.cpp +++ b/apps/openmw/mwgui/dialogue.cpp @@ -67,6 +67,8 @@ DialogueWindow::DialogueWindow(WindowManager& parWindowManager) getWidget(pDispositionBar, "Disposition"); getWidget(pDispositionText,"DispositionText"); + + static_cast(mMainWidget)->eventWindowChangeCoord += MyGUI::newDelegate(this, &DialogueWindow::onWindowResize); } void DialogueWindow::onHistoryClicked(MyGUI::Widget* _sender) @@ -88,6 +90,11 @@ void DialogueWindow::onHistoryClicked(MyGUI::Widget* _sender) } } +void DialogueWindow::onWindowResize(MyGUI::Window* _sender) +{ + topicsList->adjustSize(); +} + void DialogueWindow::onMouseWheel(MyGUI::Widget* _sender, int _rel) { if (history->getVScrollPosition() - _rel*0.3 < 0) diff --git a/apps/openmw/mwgui/dialogue.hpp b/apps/openmw/mwgui/dialogue.hpp index ac29e9ec8..a8fed7d31 100644 --- a/apps/openmw/mwgui/dialogue.hpp +++ b/apps/openmw/mwgui/dialogue.hpp @@ -51,6 +51,7 @@ namespace MWGui void onByeClicked(MyGUI::Widget* _sender); void onHistoryClicked(MyGUI::Widget* _sender); void onMouseWheel(MyGUI::Widget* _sender, int _rel); + void onWindowResize(MyGUI::Window* _sender); private: void updateOptions(); diff --git a/apps/openmw/mwgui/list.cpp b/apps/openmw/mwgui/list.cpp index 733654b8c..d66cc6f89 100644 --- a/apps/openmw/mwgui/list.cpp +++ b/apps/openmw/mwgui/list.cpp @@ -32,6 +32,11 @@ void MWList::addItem(const std::string& name) redraw(); } +void MWList::adjustSize() +{ + redraw(); +} + void MWList::redraw(bool scrollbarShown) { const int _scrollBarWidth = 24; // fetch this from skin? diff --git a/apps/openmw/mwgui/list.hpp b/apps/openmw/mwgui/list.hpp index eedcae066..a2e9afcd1 100644 --- a/apps/openmw/mwgui/list.hpp +++ b/apps/openmw/mwgui/list.hpp @@ -9,7 +9,7 @@ namespace MWGui { /** * \brief a very simple list widget that supports word-wrapping entries - * \note does not handle changing the width of the list at runtime + * \note if the width or height of the list changes, you must call adjustSize() method */ class MWList : public MyGUI::Widget { @@ -25,6 +25,11 @@ namespace MWGui */ EventHandle_String eventItemSelected; + /** + * Call after the size of the list changed + */ + void adjustSize(); + void addItem(const std::string& name); void removeItem(const std::string& name); bool hasItem(const std::string& name); From 4ce50c503bc28f4dd81b074fe578a82268b794ef Mon Sep 17 00:00:00 2001 From: scrawl Date: Thu, 10 May 2012 11:29:28 +0200 Subject: [PATCH 20/22] a few tweaks --- apps/openmw/mwgui/stats_window.cpp | 10 +++++++--- apps/openmw/mwgui/tooltips.cpp | 4 ++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/apps/openmw/mwgui/stats_window.cpp b/apps/openmw/mwgui/stats_window.cpp index 168b2efc6..8b688984f 100644 --- a/apps/openmw/mwgui/stats_window.cpp +++ b/apps/openmw/mwgui/stats_window.cpp @@ -230,7 +230,9 @@ void StatsWindow::setBirthSign (const std::string& signId) void StatsWindow::addSeparator(MyGUI::IntCoord &coord1, MyGUI::IntCoord &coord2) { - MyGUI::ImageBox* separator = skillClientWidget->createWidget("MW_HLine", MyGUI::IntCoord(10, coord1.top, coord1.width + coord2.width - 4, 18), MyGUI::Align::Default); + MyGUI::ImageBox* separator = skillClientWidget->createWidget("MW_HLine", + MyGUI::IntCoord(10, coord1.top, coord1.width + coord2.width - 4, 18), + MyGUI::Align::Left | MyGUI::Align::Top | MyGUI::Align::HStretch); skillWidgets.push_back(separator); coord1.top += separator->getHeight(); @@ -239,7 +241,9 @@ void StatsWindow::addSeparator(MyGUI::IntCoord &coord1, MyGUI::IntCoord &coord2) void StatsWindow::addGroup(const std::string &label, MyGUI::IntCoord &coord1, MyGUI::IntCoord &coord2) { - MyGUI::TextBox* groupWidget = skillClientWidget->createWidget("SandBrightText", MyGUI::IntCoord(0, coord1.top, coord1.width + coord2.width, coord1.height), MyGUI::Align::Default); + MyGUI::TextBox* groupWidget = skillClientWidget->createWidget("SandBrightText", + MyGUI::IntCoord(0, coord1.top, coord1.width + coord2.width, coord1.height), + MyGUI::Align::Left | MyGUI::Align::Top | MyGUI::Align::HStretch); groupWidget->setCaption(label); skillWidgets.push_back(groupWidget); @@ -251,7 +255,7 @@ MyGUI::TextBox* StatsWindow::addValueItem(const std::string& text, const std::st { MyGUI::TextBox *skillNameWidget, *skillValueWidget; - skillNameWidget = skillClientWidget->createWidget("SandText", coord1, MyGUI::Align::Default); + skillNameWidget = skillClientWidget->createWidget("SandText", coord1, MyGUI::Align::Left | MyGUI::Align::Top | MyGUI::Align::HStretch); skillNameWidget->setCaption(text); skillNameWidget->setUserString("ToolTipType", "Text"); skillNameWidget->setUserString("ToolTipText", tooltip); diff --git a/apps/openmw/mwgui/tooltips.cpp b/apps/openmw/mwgui/tooltips.cpp index 9d7a7ee87..1dbe90968 100644 --- a/apps/openmw/mwgui/tooltips.cpp +++ b/apps/openmw/mwgui/tooltips.cpp @@ -103,8 +103,8 @@ void ToolTips::onFrame(float frameDuration) // adjust tooltip size to fit its content, position it above the crosshair /// \todo Slide the tooltip along the bounding box of the focused object (like in Morrowind) - setCoord(viewSize.width/2 - (tooltipSize.width)/2.f, - viewSize.height/2 - (tooltipSize.height) - 32, + setCoord(std::max(0, viewSize.width/2 - (tooltipSize.width)/2), + std::max(0, viewSize.height/2 - (tooltipSize.height) - 32), tooltipSize.width, tooltipSize.height); } From 3d9e89c8378b962b49940b8c3920dd9867614817 Mon Sep 17 00:00:00 2001 From: scrawl Date: Thu, 10 May 2012 12:44:01 +0200 Subject: [PATCH 21/22] removed unnecessary include --- apps/openmw/mwgui/formatting.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/openmw/mwgui/formatting.cpp b/apps/openmw/mwgui/formatting.cpp index e031678ae..53c23c25d 100644 --- a/apps/openmw/mwgui/formatting.cpp +++ b/apps/openmw/mwgui/formatting.cpp @@ -2,7 +2,6 @@ #include #include -#include using namespace MWGui; From 37095b62c696674fc0122d541c4321eb1595a51e Mon Sep 17 00:00:00 2001 From: Marc Zinnschlag Date: Thu, 10 May 2012 12:51:40 +0200 Subject: [PATCH 22/22] removed another include --- apps/openmw/mwgui/formatting.hpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/apps/openmw/mwgui/formatting.hpp b/apps/openmw/mwgui/formatting.hpp index c8f2c9e44..a1e115491 100644 --- a/apps/openmw/mwgui/formatting.hpp +++ b/apps/openmw/mwgui/formatting.hpp @@ -3,8 +3,6 @@ #include -#include - namespace MWGui { struct TextStyle