comparison GUI/UI/UIBooks.cpp @ 2501:0ff6a9e9bf7f

GUI folger
author Ritor1
date Fri, 19 Sep 2014 04:21:12 +0600
parents
children a77c34acdbc9
comparison
equal deleted inserted replaced
2500:952025b157aa 2501:0ff6a9e9bf7f
1 #define _CRTDBG_MAP_ALLOC
2 #include <stdlib.h>
3 #include <crtdbg.h>
4
5 #define _CRT_SECURE_NO_WARNINGS
6 #include "..\../Engine/MM7.h"
7 #include "UIBooks.h"
8 #include "..\../Engine/Graphics/Render.h"
9 #include "..\../GUIWindow.h"
10 #include "..\../GUIFont.h"
11 #include "..\../AudioPlayer.h"
12 #include "..\../Engine/LOD.h"
13
14 #include "..\../Engine/mm7_data.h"
15
16 //----- (00413CC6) --------------------------------------------------------
17 void BookUI_Draw(WindowType book)
18 {
19 pRenderer->DrawTextureIndexed(471, 445, pIcons_LOD->GetTexture(uExitCancelTextureId));
20 switch (book)
21 {
22 case WINDOW_QuestBook: BookUI_Questbook_Draw(); break;
23 case WINDOW_AutonotesBook: BookUI_Autonotes_Draw(); break;
24 case WINDOW_MapsBook: BookUI_Map_Draw(); break;
25 case WINDOW_CalendarBook: BookUI_Calendar_Draw(); break;
26 case WINDOW_JournalBook: BookUI_Journal_Draw(); break;
27
28 case WINDOW_LloydsBeacon: DrawLloydBeaconsScreen(); break;
29 case WINDOW_TownPortal: BookUI_DrawTownPortalMap(); break;
30 }
31 }
32
33 //----- (0041192C) --------------------------------------------------------
34 void InitializeBookTextures()
35 {
36 pAudioPlayer->StopChannels(-1, -1);
37 ++pIcons_LOD->uTexturePacksCount;
38 if ( !pIcons_LOD->uNumPrevLoadedFiles )
39 pIcons_LOD->uNumPrevLoadedFiles = pIcons_LOD->uNumLoadedFiles;
40 pAudioPlayer->PlaySound(SOUND_OpenBook, 0, 0, -1, 0, 0, 0, 0);
41 pSpellBookPagesTextr_9 = pIcons_LOD->LoadTexturePtr("book", TEXTURE_16BIT_PALETTE);
42 pTexture_pagemask = pIcons_LOD->LoadTexturePtr("pagemask", TEXTURE_16BIT_PALETTE);
43 pSpellBookCloseBtnTextr = pIcons_LOD->LoadTexturePtr("ib-m5-u", TEXTURE_16BIT_PALETTE);
44 pSpellBookClickCloseBtnTextr = pIcons_LOD->LoadTexturePtr("ib-m5-d", TEXTURE_16BIT_PALETTE);
45 pSBQuickSpellBtnTextr = pIcons_LOD->LoadTexturePtr("ib-m6-u",TEXTURE_16BIT_PALETTE);
46
47 static const char *texNames[9] = // 004E24EC
48 {
49 "SBFB00", "SBAB00", "SBWB00", "SBEB00",
50 "SBSB00", "SBMB00", "SBBB00", "SBLB00", "SBDB00"
51 };
52
53 pSBClickQuickSpellBtnTextr = pIcons_LOD->LoadTexturePtr("ib-m6-d",TEXTURE_16BIT_PALETTE);
54 for ( uint i = 0; i < 9; ++i )
55 {
56 pSpellBookPagesTextr[i] = pIcons_LOD->LoadTexturePtr(texNames[i], TEXTURE_16BIT_PALETTE);
57 sprintf(pTmpBuf.data(), "tab%da", i + 1);
58 pTextures_tabs[i][0] = pIcons_LOD->LoadTexturePtr(pTmpBuf.data(), TEXTURE_16BIT_PALETTE);
59 sprintf(pTmpBuf.data(), "tab%db", i + 1);
60 pTextures_tabs[i][1] = pIcons_LOD->LoadTexturePtr(pTmpBuf.data(), TEXTURE_16BIT_PALETTE);
61 }
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 }
78
79 //----- (0041140B) --------------------------------------------------------
80 void OnCloseSpellBookPage()
81 {
82 GUIButton *pNextButton; // esi@4
83 for ( uint i = 1; i <= 11; i++ )
84 {
85 SBPageCSpellsTextureList[i]->Release();
86 SBPageSSpellsTextureList[i]->Release();
87 }
88 pIcons_LOD->SyncLoadedFilesCount();
89 if ( pGUIWindow_CurrentMenu->pControlsHead )
90 {
91 do
92 {
93 pNextButton = pGUIWindow_CurrentMenu->pControlsHead->pNext;
94 free(pGUIWindow_CurrentMenu->pControlsHead);
95 pGUIWindow_CurrentMenu->pControlsHead = pNextButton;
96 }
97 while ( pNextButton );
98 }
99 pGUIWindow_CurrentMenu->pControlsHead = 0;
100 pGUIWindow_CurrentMenu->pControlsTail = 0;
101 pGUIWindow_CurrentMenu->uNumControls = 0;
102 }
103
104 //----- (00411473) --------------------------------------------------------
105 void OnCloseSpellBook()
106 {
107 pTexture_pagemask->Release();
108 pSpellBookCloseBtnTextr->Release();
109 pSBQuickSpellBtnTextr->Release();
110 for ( uint i = 0; i < 9; ++i )
111 {
112 pSpellBookPagesTextr[i]->Release();
113 pTextures_tabs[i][0]->Release();
114 pTextures_tabs[i][1]->Release();
115 }
116 pAudioPlayer->PlaySound(SOUND_CloseBook, 0, 0, -1, 0, 0, 0, 0);
117 pIcons_LOD->RemoveTexturesPackFromTextureList();
118 }