comparison GUI/UI/UIBooks.cpp @ 2548:87e5590d034b

All Books windows are refactored into respective classes
author a.parshin
date Tue, 12 May 2015 03:24:19 +0200
parents a902abdfc7f2
children 3121fb54a110
comparison
equal deleted inserted replaced
2547:fed97f15d1e1 2548:87e5590d034b
1 #define _CRTDBG_MAP_ALLOC 1 #define _CRTDBG_MAP_ALLOC
2 #define _CRT_SECURE_NO_WARNINGS
2 #include <stdlib.h> 3 #include <stdlib.h>
3 #include <crtdbg.h> 4 #include <crtdbg.h>
4 5
5 #define _CRT_SECURE_NO_WARNINGS 6 #include "Engine/Engine.h"
7 #include "Engine/Graphics/Render.h"
8 #include "Engine/LOD.h"
9 #include "Engine/texts.h"
10 #include "Engine/Awards.h"
6 11
7 #include "Engine/Engine.h" 12 #include "GUI/GUIFont.h"
13 #include "GUI/UI/UIBooks.h"
8 14
9 #include "UIBooks.h" 15 #include "Media/Audio/AudioPlayer.h"
10 #include "..\../Engine/Graphics/Render.h"
11 #include "..\../GUI/GUIWindow.h"
12 #include "..\../GUI/GUIFont.h"
13 #include "..\../Media/Audio/AudioPlayer.h"
14 #include "..\../Engine/LOD.h"
15 16
16 //----- (00413CC6) -------------------------------------------------------- 17
17 void BookUI_Draw(WindowType book) 18
19 //----- (00411597) --------------------------------------------------------
20 void GUIWindow_Book::Release()
18 { 21 {
19 pRenderer->DrawTextureIndexed(471, 445, pIcons_LOD->GetTexture(uExitCancelTextureId)); 22 free(pSpellFont);
20 switch (book) 23 pSpellFont = nullptr;
21 { 24 free(pBookFont);
22 case WINDOW_QuestBook: BookUI_Questbook_Draw(); break; 25 pBookFont = nullptr;
23 case WINDOW_AutonotesBook: BookUI_Autonotes_Draw(); break; 26 free(pBook2Font);
24 case WINDOW_MapsBook: BookUI_Map_Draw(); break; 27 pBook2Font = nullptr;
25 case WINDOW_CalendarBook: BookUI_Calendar_Draw(); break; 28 free(pAutonoteFont);
26 case WINDOW_JournalBook: BookUI_Journal_Draw(); break; 29 pAutonoteFont = nullptr;
30 pTexture_mapbordr->Release();
31 pAudioPlayer->PlaySound(SOUND_closebook, 0, 0, -1, 0, 0, 0, 0);
32 pIcons_LOD->RemoveTexturesPackFromTextureList();
33 dword_506364 = 0;
27 34
28 case WINDOW_LloydsBeacon: DrawLloydBeaconsScreen(); break; 35 GUIWindow::Release();
29 case WINDOW_TownPortal: BookUI_DrawTownPortalMap(); break; 36 }
30 } 37
38
39 GUIWindow_Book::GUIWindow_Book() :
40 GUIWindow(0, 0, window->GetWidth(), window->GetHeight(), 0, nullptr)
41 {
42 }
43
44 void GUIWindow_Book::BasicBookInitialization()
45 {
46 // ----- (00411BFC) --------------------------------------------------------
47 // void GUIWindow::InitializeBookView() --- part
48 // {
49 pAudioPlayer->StopChannels(-1, -1);
50 InitializeFonts();
51 CreateButton(475, 445, 158, 34, 1, 0, UIMSG_Escape, 0, 0, pGlobalTXT_LocalizationStrings[79], 0); // Close
52 current_screen_type = SCREEN_BOOKS;
53 full_num_items_in_book = 0;
54 books_primary_item_per_page = 0;
55 books_page_number = 0;
56 num_achieved_awards = 0;
57 }
58
59 //----- (00411AAA) --------------------------------------------------------
60 void GUIWindow_Book::InitializeFonts()
61 {
62 pAudioPlayer->StopChannels(-1, -1);
63 ++pIcons_LOD->uTexturePacksCount;
64 if (!pIcons_LOD->uNumPrevLoadedFiles)
65 pIcons_LOD->uNumPrevLoadedFiles = pIcons_LOD->uNumLoadedFiles;
66 pAudioPlayer->PlaySound(SOUND_openbook, 0, 0, -1, 0, 0, 0, 0);
67 pTexture_mapbordr = pIcons_LOD->LoadTexturePtr("mapbordr", TEXTURE_16BIT_PALETTE);
68 pBookFont = LoadFont("book.fnt", "FONTPAL", NULL);
69 pBook2Font = LoadFont("book2.fnt", "FONTPAL", NULL);
70 pAutonoteFont = LoadFont("autonote.fnt", "FONTPAL", NULL);
71 pSpellFont = LoadFont("spell.fnt", "FONTPAL", NULL);
31 } 72 }
32 73
33 //----- (0041192C) -------------------------------------------------------- 74 //----- (0041192C) --------------------------------------------------------
34 void InitializeBookTextures() 75 void InitializeSpellBookTextures()
35 { 76 {
36 pAudioPlayer->StopChannels(-1, -1); 77 pAudioPlayer->StopChannels(-1, -1);
37 ++pIcons_LOD->uTexturePacksCount; 78 ++pIcons_LOD->uTexturePacksCount;
38 if ( !pIcons_LOD->uNumPrevLoadedFiles ) 79 if ( !pIcons_LOD->uNumPrevLoadedFiles )
39 pIcons_LOD->uNumPrevLoadedFiles = pIcons_LOD->uNumLoadedFiles; 80 pIcons_LOD->uNumPrevLoadedFiles = pIcons_LOD->uNumLoadedFiles;
57 sprintf(pTmpBuf.data(), "tab%da", i + 1); 98 sprintf(pTmpBuf.data(), "tab%da", i + 1);
58 pTextures_tabs[i][0] = pIcons_LOD->LoadTexturePtr(pTmpBuf.data(), TEXTURE_16BIT_PALETTE); 99 pTextures_tabs[i][0] = pIcons_LOD->LoadTexturePtr(pTmpBuf.data(), TEXTURE_16BIT_PALETTE);
59 sprintf(pTmpBuf.data(), "tab%db", i + 1); 100 sprintf(pTmpBuf.data(), "tab%db", i + 1);
60 pTextures_tabs[i][1] = pIcons_LOD->LoadTexturePtr(pTmpBuf.data(), TEXTURE_16BIT_PALETTE); 101 pTextures_tabs[i][1] = pIcons_LOD->LoadTexturePtr(pTmpBuf.data(), TEXTURE_16BIT_PALETTE);
61 } 102 }
62 }
63
64 //----- (00411AAA) --------------------------------------------------------
65 void InitializeBookFonts()
66 {
67 pAudioPlayer->StopChannels(-1, -1);
68 ++pIcons_LOD->uTexturePacksCount;
69 if ( !pIcons_LOD->uNumPrevLoadedFiles )
70 pIcons_LOD->uNumPrevLoadedFiles = pIcons_LOD->uNumLoadedFiles;
71 pAudioPlayer->PlaySound(SOUND_openbook, 0, 0, -1, 0, 0, 0, 0);
72 pTexture_mapbordr = pIcons_LOD->LoadTexturePtr("mapbordr", TEXTURE_16BIT_PALETTE);
73 pBookFont = LoadFont("book.fnt", "FONTPAL", NULL);
74 pBook2Font = LoadFont("book2.fnt", "FONTPAL", NULL);
75 pAutonoteFont = LoadFont("autonote.fnt", "FONTPAL", NULL);
76 pSpellFont = LoadFont("spell.fnt", "FONTPAL", NULL);
77 } 103 }
78 104
79 //----- (0041140B) -------------------------------------------------------- 105 //----- (0041140B) --------------------------------------------------------
80 void OnCloseSpellBookPage() 106 void OnCloseSpellBookPage()
81 { 107 {