comparison GUI/UI/UIMainMenu.cpp @ 2572:d87bfbd3bb3b

Step towards unification of Texture and RGBTexture (class Image)
author a.parshin
date Sat, 05 Mar 2016 01:51:54 +0200
parents f9bdfe26d03d
children 0c67be4ec900
comparison
equal deleted inserted replaced
2571:cf29f444ddd7 2572:d87bfbd3bb3b
2 #define _CRT_SECURE_NO_WARNINGS 2 #define _CRT_SECURE_NO_WARNINGS
3 #include <stdlib.h> 3 #include <stdlib.h>
4 #include <crtdbg.h> 4 #include <crtdbg.h>
5 5
6 #include "Engine/Engine.h" 6 #include "Engine/Engine.h"
7 #include "Engine/AssetsManager.h"
7 #include "Engine/LOD.h" 8 #include "Engine/LOD.h"
8 #include "Engine/MMT.h" 9 #include "Engine/MMT.h"
9 #include "Engine/texts.h" 10 #include "Engine/texts.h"
10 #include "Engine/Graphics/IRender.h" 11 #include "Engine/Graphics/IRender.h"
11 #include "Engine/Graphics/Viewport.h" 12 #include "Engine/Graphics/Viewport.h"
323 GUIWindow credit_window; 324 GUIWindow credit_window;
324 int move_Y; // [sp+128h] [bp-14h]@1 325 int move_Y; // [sp+128h] [bp-14h]@1
325 char *pString; // [sp+12Ch] [bp-10h]@9 326 char *pString; // [sp+12Ch] [bp-10h]@9
326 GUIFont *pFontQuick; // [sp+134h] [bp-8h]@1 327 GUIFont *pFontQuick; // [sp+134h] [bp-8h]@1
327 GUIFont *pFontCChar; // [sp+138h] [bp-4h]@1 328 GUIFont *pFontCChar; // [sp+138h] [bp-4h]@1
328 RGBTexture mm6title_texture; // [sp+54h] [bp-E8h]@1
329 RGBTexture cred_texture; // [sp+100h] [bp-3Ch]@1 329 RGBTexture cred_texture; // [sp+100h] [bp-3Ch]@1
330 Texture pTemporaryTexture; // [sp+Ch] [bp-130h]@5 330 Texture pTemporaryTexture; // [sp+Ch] [bp-130h]@5
331 331
332 pFontQuick = LoadFont("quick.fnt", "FONTPAL", NULL); 332 pFontQuick = LoadFont("quick.fnt", "FONTPAL", NULL);
333 pFontCChar = LoadFont("cchar.fnt", "FONTPAL", NULL); 333 pFontCChar = LoadFont("cchar.fnt", "FONTPAL", NULL);
342 342
343 if ( use_music_folder ) 343 if ( use_music_folder )
344 PlayAudio(L"Music\\15.mp3"); 344 PlayAudio(L"Music\\15.mp3");
345 else 345 else
346 pAudioPlayer->PlayMusicTrack(MUSIC_Credits); 346 pAudioPlayer->PlayMusicTrack(MUSIC_Credits);
347 mm6title_texture.Load("mm6title.pcx", 0); 347
348 Image *mm6title = assets->GetImage_PCXFromIconsLOD(L"mm6title.pcx");
349
348 cred_texturet = (char *)pEvents_LOD->LoadRaw("credits.txt", 0); 350 cred_texturet = (char *)pEvents_LOD->LoadRaw("credits.txt", 0);
349 pFile = pEvents_LOD->FindContainer("credits.txt", 0); 351 pFile = pEvents_LOD->FindContainer("credits.txt", 0);
350 if ( !pFile ) 352 if ( !pFile )
351 Error(pGlobalTXT_LocalizationStrings[63]); // "Might and Magic VII is having trouble loading files. 353 Error(pGlobalTXT_LocalizationStrings[63]); // "Might and Magic VII is having trouble loading files.
352 354
400 WaitMessage(); 402 WaitMessage();
401 } 403 }
402 else 404 else
403 { 405 {
404 pRenderer->BeginScene(); 406 pRenderer->BeginScene();
405 pRenderer->DrawTextureRGB(0, 0, &mm6title_texture); 407 pRenderer->DrawTextureNew(0, 0, mm6title);
406 pRenderer->SetUIClipRect(credit_window.uFrameX, credit_window.uFrameY, credit_window.uFrameX + credit_window.uFrameWidth, 408 pRenderer->SetUIClipRect(credit_window.uFrameX, credit_window.uFrameY, credit_window.uFrameX + credit_window.uFrameWidth,
407 credit_window.uFrameY + credit_window.uFrameHeight); 409 credit_window.uFrameY + credit_window.uFrameHeight);
408 pRenderer->CreditsTextureScroll(credit_window.uFrameX, credit_window.uFrameY, 0, move_Y, &cred_texture); 410 pRenderer->CreditsTextureScroll(credit_window.uFrameX, credit_window.uFrameY, 0, move_Y, &cred_texture);
409 pRenderer->ResetUIClipRect(); 411 pRenderer->ResetUIClipRect();
410 pRenderer->EndScene(); 412 pRenderer->EndScene();
423 free(cred_texturet); 425 free(cred_texturet);
424 free(pFontQuick); 426 free(pFontQuick);
425 free(pFontCChar); 427 free(pFontCChar);
426 pWindow_MainMenu->Release(); 428 pWindow_MainMenu->Release();
427 pIcons_LOD->RemoveTexturesPackFromTextureList(); 429 pIcons_LOD->RemoveTexturesPackFromTextureList();
428 mm6title_texture.Release(); 430
431 if (mm6title)
432 {
433 mm6title->Release();
434 mm6title = nullptr;
435 }
436
429 cred_texture.Release(); 437 cred_texture.Release();
430 return MENU_MAIN; // return MENU_Main 438 return MENU_MAIN; // return MENU_Main
431 } 439 }