# HG changeset patch
# User Grumpy7
# Date 1394995408 -3600
# Node ID 815d9ecf988156c810a5db4bbc2656f5cac35f71
# Parent b0f10ef66e00c16a145d868381e0a32c417ddf88# Parent d65414f65bd4eadddce2ef6719445005db19bb9c
Merge
diff -r b0f10ef66e00 -r 815d9ecf9881 Build/Visual Studio 2012/World of Might and Magic.vcxproj
--- a/Build/Visual Studio 2012/World of Might and Magic.vcxproj Sun Mar 16 19:42:29 2014 +0100
+++ b/Build/Visual Studio 2012/World of Might and Magic.vcxproj Sun Mar 16 19:43:28 2014 +0100
@@ -177,6 +177,7 @@
+
@@ -405,6 +406,7 @@
+
diff -r b0f10ef66e00 -r 815d9ecf9881 Build/Visual Studio 2012/World of Might and Magic.vcxproj.filters
--- a/Build/Visual Studio 2012/World of Might and Magic.vcxproj.filters Sun Mar 16 19:42:29 2014 +0100
+++ b/Build/Visual Studio 2012/World of Might and Magic.vcxproj.filters Sun Mar 16 19:43:28 2014 +0100
@@ -335,6 +335,7 @@
UI\Books
+
@@ -836,6 +837,7 @@
UI
+
diff -r b0f10ef66e00 -r 815d9ecf9881 Build/Visual Studio 2012/World of Might and Magic.vcxproj.user
--- a/Build/Visual Studio 2012/World of Might and Magic.vcxproj.user Sun Mar 16 19:42:29 2014 +0100
+++ b/Build/Visual Studio 2012/World of Might and Magic.vcxproj.user Sun Mar 16 19:43:28 2014 +0100
@@ -4,6 +4,6 @@
$(OutDir)$(TargetName)$(TargetExt)
$(OutDir)
WindowsLocalDebugger
- -novideo, -nomarg
+ -nomarg, -novideo
\ No newline at end of file
diff -r b0f10ef66e00 -r 815d9ecf9881 GUIWindow.cpp
--- a/GUIWindow.cpp Sun Mar 16 19:42:29 2014 +0100
+++ b/GUIWindow.cpp Sun Mar 16 19:43:28 2014 +0100
@@ -2121,13 +2121,13 @@
if ( sub_4637E0_is_there_popup_onscreen() )
UI_OnMouseRightClick(0);
}
-void LoadFonts_and_DrawCopyrightWindow()
-{
- MainMenuUI_LoadFontsAndSomeStuff();
- DrawCopyrightWindow();
-}
+//void LoadFonts_and_DrawCopyrightWindow()
+//{
+ //MainMenuUI_LoadFontsAndSomeStuff();
+ // DrawCopyrightWindow();
+//}
//----- (00415485) --------------------------------------------------------
-void DrawCopyrightWindow()
+void DrawMM7CopyrightWindow()
{
GUIWindow Dst; // [sp+8h] [bp-54h]@1
diff -r b0f10ef66e00 -r 815d9ecf9881 GUIWindow.h
--- a/GUIWindow.h Sun Mar 16 19:42:29 2014 +0100
+++ b/GUIWindow.h Sun Mar 16 19:43:28 2014 +0100
@@ -591,8 +591,8 @@
void __fastcall DrawPopupWindow(unsigned int uX, unsigned int uY, unsigned int uWidth, unsigned int uHeight); // idb
-void DrawCopyrightWindow();
-void LoadFonts_and_DrawCopyrightWindow();
+void DrawMM7CopyrightWindow();
+//void LoadFonts_and_DrawCopyrightWindow();
void GUI_UpdateWindows();
int GetConditionDrawColor(unsigned int uConditionIdx); // idb
void FillAwardsData();
diff -r b0f10ef66e00 -r 815d9ecf9881 Game.cpp
--- a/Game.cpp Sun Mar 16 19:42:29 2014 +0100
+++ b/Game.cpp Sun Mar 16 19:43:28 2014 +0100
@@ -4274,10 +4274,6 @@
switch (pUIMessageType) // For buttons of window MainMenu
{
- case UIMSG_MMT_MainMenu_MM7:
- SetCurrentMenuID(MENU_MAIN);
- break;
-
case UIMSG_MainMenu_ShowPartyCreationWnd:
GUIWindow::Create(495, 172, 0, 0, WINDOW_PressedButton2, (int)pMainMenu_BtnNew, 0);
SetCurrentMenuID(MENU_NEWGAME);
diff -r b0f10ef66e00 -r 815d9ecf9881 MMT.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/MMT.cpp Sun Mar 16 19:43:28 2014 +0100
@@ -0,0 +1,243 @@
+#define _CRT_SECURE_NO_WARNINGS
+
+#include "MMT.h"
+#include "GUIWindow.h"
+#include "mm7_unsorted_subs.h"
+#include "mm7_data.h"
+#include "AudioPlayer.h"
+#include "Mouse.h"
+#include "LOD.h"
+#include "Render.h"
+#include "VideoPlayer.h"
+#include "CShow.h"
+#include "GUIFont.h"
+
+void ShowLogoVideo()
+{
+ RGBTexture tex; // [sp+Ch] [bp-30h]@1
+ //unsigned int uTrackStartMS; // [sp+34h] [bp-8h]@8
+ //unsigned int uTrackEndMS; // [sp+38h] [bp-4h]@8
+
+ pVideoPlayer->bStopBeforeSchedule = false;
+ pVideoPlayer->pResetflag = 0;
+ bGameoverLoop = 1;
+ if (!bNoVideo)
+ {
+ pRenderer->PresentBlackScreen();
+ PlayFullscreenMovie(MOVIE_3DOLogo, true);
+ if ( !pVideoPlayer->bStopBeforeSchedule )
+ {
+ PlayFullscreenMovie(MOVIE_NWCLogo, true);
+ if ( !pVideoPlayer->bStopBeforeSchedule )
+ PlayFullscreenMovie(MOVIE_JVC, true);
+ }
+ }
+ char pContainerName[64];
+
+ sprintf(pContainerName, "data\\New_Icons/%s", "MMTTITLE.pcx");
+ tex.LoadPCXFile(pContainerName, 0);
+
+ pRenderer->BeginScene();
+ pRenderer->DrawTextureRGB(0, 0, &tex);
+ free(tex.pPixels);
+ tex.pPixels = 0;
+ MainMenuUI_LoadFontsAndSomeStuff();
+ DrawMMTCopyrightWindow();
+
+ pRenderer->EndScene();
+ pRenderer->Present();
+
+ #ifndef _DEBUG
+ Sleep(1500); // let the copyright window stay for a while
+ #endif
+
+ /*if (!bNoSound && pAudioPlayer->hAILRedbook )
+ {
+ pAudioPlayer->SetMusicVolume((signed __int64)(pSoundVolumeLevels[uMusicVolimeMultiplier] * 64.0));
+ AIL_redbook_stop(pAudioPlayer->hAILRedbook);
+ AIL_redbook_track_info(pAudioPlayer->hAILRedbook, 14, &uTrackStartMS, &uTrackEndMS);
+ AIL_redbook_play(pAudioPlayer->hAILRedbook, uTrackStartMS + 1, uTrackEndMS);
+ } */
+ bGameoverLoop = 0;
+}
+
+void MMT_MainMenu_Loop()
+{
+ GUIButton *pButton; // eax@27
+ unsigned int pControlParam; // ecx@35
+ int v10; // ecx@36
+ int v11; // ecx@37
+ unsigned int pX;
+ unsigned int pY; // [sp-18h] [bp-54h]@39
+ Texture *pTexture; // [sp-14h] [bp-50h]@39
+ GUIButton *pButton2; // [sp+0h] [bp-3Ch]@27
+
+ pCurrentScreen = SCREEN_GAME;
+
+ pGUIWindow2 = 0;
+ pAudioPlayer->StopChannels(-1, -1);//остановить/подготовить канал
+ pMouse->RemoveHoldingItem();//избавить курсор от вещи
+
+ pIcons_LOD->_inlined_sub2();
+
+ pWindow_MMT_MainMenu = GUIWindow::Create(0, 0, window->GetWidth(), window->GetHeight(), WINDOW_MainMenu, 0, 0);
+ Texture* MMT_MM6 = pIcons_LOD->LoadTexturePtr("title_new", TEXTURE_16BIT_PALETTE);
+ Texture* MMT_MM7 = pIcons_LOD->LoadTexturePtr("title_load", TEXTURE_16BIT_PALETTE);
+ Texture* MMT_MM8 = pIcons_LOD->LoadTexturePtr("title_cred", TEXTURE_16BIT_PALETTE);
+ Texture* MMT_Continue = pIcons_LOD->LoadTexturePtr("title_exit", TEXTURE_16BIT_PALETTE);
+ Texture* MMT_Exit = pIcons_LOD->LoadTexturePtr("title_exit", TEXTURE_16BIT_PALETTE);
+
+ pMMT_MainMenu_BtnMM6 = pWindow_MMT_MainMenu->CreateButton((window->GetWidth() / 4) - 100, window->GetHeight() / 4, MMT_MM6->uTextureWidth, MMT_MM6->uTextureHeight, 1, 0, UIMSG_MMT_MainMenu_MM6, 0, 0, "", MMT_MM6, 0);
+ pMMT_MainMenu_BtnMM7 = pWindow_MMT_MainMenu->CreateButton(window->GetWidth() - (window->GetWidth() / 4), window->GetHeight() / 4, MMT_MM7->uTextureWidth, MMT_MM7->uTextureHeight, 1, 0, UIMSG_MMT_MainMenu_MM7, 1, 0, "", MMT_MM7, 0);
+ pMMT_MainMenu_BtnMM8 = pWindow_MMT_MainMenu->CreateButton(window->GetWidth() - (window->GetWidth() / 4), window->GetHeight() - ((window->GetHeight() / 4) + 50), MMT_MM8->uTextureWidth, MMT_MM8->uTextureHeight, 1, 0, UIMSG_MMT_MainMenu_MM8, 2, 0, "", MMT_MM8, 0);
+ pMMT_MainMenu_BtnContinue = pWindow_MMT_MainMenu->CreateButton((window->GetWidth() / 4) - 100, window->GetHeight() - ((window->GetHeight() / 4) + 50), MMT_Continue->uTextureWidth, MMT_Continue->uTextureHeight, 1, 0, UIMSG_MMT_MainMenu_Continue, 3, 0, "", MMT_Continue, 0);
+ pMMT_MainMenu_BtnExit = pWindow_MMT_MainMenu->CreateButton(window->GetWidth() - 130, window->GetHeight() - 35, MMT_Exit->uTextureWidth, MMT_Exit->uTextureHeight, 1, 0, UIMSG_ExitToWindows, 4, 0, "", MMT_Exit, 0);
+
+ pTexture_PCX.Release();
+
+ char pContainerName[64];
+
+ sprintf(pContainerName, "data\\New_Icons/%s", "MMTTITLE.pcx");
+ pTexture_PCX.LoadPCXFile(pContainerName, 0);
+ SetCurrentMenuID(MENU_MMT_MAIN_MENU);
+ SetForegroundWindow(window->GetApiHandle());
+ SendMessageW(window->GetApiHandle(), WM_ACTIVATEAPP, 1, 0);
+ while (GetCurrentMenuID() == MENU_MMT_MAIN_MENU )
+ {
+ POINT cursor;
+ pMouse->GetCursorPos(&cursor);
+
+ for (MSG msg; PeekMessageW(&msg, 0, 0, 0, PM_REMOVE);)
+ {
+ if (msg.message == WM_QUIT)
+ Game_DeinitializeAndTerminate(0);
+ TranslateMessage(&msg);
+ DispatchMessageW(&msg);
+ }
+
+ if (dword_6BE364_game_settings_1 & GAME_SETTINGS_APP_INACTIVE)
+ {
+ WaitMessage();
+ continue;
+ }
+
+ pRenderer->BeginScene();
+ pRenderer->DrawTextureRGB(0, 0, &pTexture_PCX);
+
+ MMT_MenuMessageProc();
+ GUI_UpdateWindows();
+
+ if ( !pModalWindow )// ???
+ {
+ pButton = pWindow_MMT_MainMenu->pControlsHead;
+ for ( pButton = pWindow_MMT_MainMenu->pControlsHead; pButton; pButton = pButton->pNext )
+ {
+ if ( cursor.x >= (signed int)pButton->uX && cursor.x <= (signed int)pButton->uZ
+ && cursor.y >= (signed int)pButton->uY && cursor.y <= (signed int)pButton->uW )
+ {
+ pControlParam = pButton->msg_param;
+ switch (pControlParam) // подсветка кнопок
+ {
+ case 0:
+ pTexture = MMT_MM6;
+ pX = (window->GetWidth() / 4) - 100;
+ pY = window->GetHeight() / 4;
+ break;
+ case 1:
+ pTexture = MMT_MM7;
+ pX = window->GetWidth() - (window->GetWidth() / 4);
+ pY = window->GetHeight() / 4;
+ break;
+ case 2:
+ pTexture = MMT_MM8;
+ pX = window->GetWidth() - (window->GetWidth() / 4);
+ pY = window->GetHeight() - ((window->GetHeight() / 4) + 50);
+ break;
+ case 3:
+ pTexture = MMT_Continue;
+ pX = (window->GetWidth() / 4) - 100;
+ pY = window->GetHeight() - ((window->GetHeight() / 4) + 50);
+ break;
+ case 4:
+ pTexture = MMT_Exit;
+ pX = window->GetWidth() - 130;
+ pY = window->GetHeight() - 35;
+ break;
+ }
+ pRenderer->DrawTextureIndexed(pX, pY, pTexture); //подсветка кнопок
+ }
+ }
+ }
+ //}
+ pRenderer->EndScene();
+ pRenderer->Present();
+ }
+ MMT_MenuMessageProc();
+ pRenderer->BeginScene();
+ GUI_UpdateWindows();
+ pRenderer->EndScene();
+ pRenderer->Present();
+ pTexture_PCX.Release();
+ if ( pGUIWindow2 )
+ {
+ pGUIWindow2->Release();
+ pGUIWindow2 = 0;
+ }
+ pWindow_MMT_MainMenu->Release();
+ pIcons_LOD->RemoveTexturesPackFromTextureList();
+}
+
+void MMT_MenuMessageProc()
+{
+ int pParam;
+ int pParam2;
+ UIMessageType pUIMessageType;
+
+ if ( pMessageQueue_50CBD0->uNumMessages )
+ {
+ do
+ {
+
+ pMessageQueue_50CBD0->PopMessage(&pUIMessageType, &pParam, &pParam2);
+
+ switch (pUIMessageType)
+ {
+ case UIMSG_MMT_MainMenu_MM7: //кнопка игры ММ7
+ //GUIWindow::Create(495, 172, 0, 0, WINDOW_PressedButton2, (int)pMainMenu_BtnNew, 0);
+ ShowMM7IntroVideo_and_LoadingScreen();
+ SetCurrentMenuID(MENU_MAIN);
+ break;
+
+ default:
+ break;
+ }
+ }
+ while ( pMessageQueue_50CBD0->uNumMessages );
+ }
+}
+void DrawMMTCopyrightWindow()
+{
+ GUIWindow Dst; // [sp+8h] [bp-54h]@1
+
+ memset(&Dst, 0, 0x54u);
+ Dst.uFrameWidth = 624;
+ Dst.uFrameHeight = 256;
+ Dst.uFrameX = 8;
+ Dst.uFrameY = 30;
+ Dst.uFrameHeight = pFontSmallnum->CalcTextHeight("Text Verification: Here we can write an explanation of the project", &Dst, 24, 0)
+ + 2 * LOBYTE(pFontSmallnum->uFontHeight)
+ + 24;
+ Dst.uFrameY = 470 - Dst.uFrameHeight;
+ Dst.uFrameZ = Dst.uFrameX + Dst.uFrameWidth - 1;
+ Dst.uFrameW = 469;
+ //Dst.Hint = "abcagfdsgsg ljsrengvlkjesnfkjwnef";
+ Dst.DrawMessageBox(0);
+
+ Dst.uFrameWidth -= 24;
+ Dst.uFrameX += 12;
+ Dst.uFrameY += 12;
+ Dst.uFrameHeight -= 12;
+ Dst.uFrameZ = Dst.uFrameX + Dst.uFrameWidth - 1;
+ Dst.uFrameW = Dst.uFrameY + Dst.uFrameHeight - 1;
+ Dst.DrawTitleText(pFontSmallnum, 0, 0xCu, ui_mainmenu_copyright_color, "Text Verification: Here we can write an explanation of the project", 3);
+}
\ No newline at end of file
diff -r b0f10ef66e00 -r 815d9ecf9881 MMT.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/MMT.h Sun Mar 16 19:43:28 2014 +0100
@@ -0,0 +1,7 @@
+#pragma once
+
+void ShowLogoVideo();
+void MMT_MainMenu_Loop();
+void MMT_MenuMessageProc();
+void DrawMMTCopyrightWindow();
+
diff -r b0f10ef66e00 -r 815d9ecf9881 VideoPlayer.cpp
--- a/VideoPlayer.cpp Sun Mar 16 19:42:29 2014 +0100
+++ b/VideoPlayer.cpp Sun Mar 16 19:43:28 2014 +0100
@@ -274,45 +274,31 @@
}
}
//----- (004BF794) --------------------------------------------------------
-void ShowIntroVideo_and_LoadingScreen()
+void ShowMM7IntroVideo_and_LoadingScreen()
{
RGBTexture tex; // [sp+Ch] [bp-30h]@1
- //unsigned int uTrackStartMS; // [sp+34h] [bp-8h]@8
- //unsigned int uTrackEndMS; // [sp+38h] [bp-4h]@8
+ unsigned int uTrackStartMS; // [sp+34h] [bp-8h]@8
+ unsigned int uTrackEndMS; // [sp+38h] [bp-4h]@8
pVideoPlayer->bStopBeforeSchedule = false;
pVideoPlayer->pResetflag = 0;
- bGameoverLoop = 1;
+ bGameoverLoop = true;
if (!bNoVideo)
{
pRenderer->PresentBlackScreen();
- PlayFullscreenMovie(MOVIE_3DOLogo, true);
- //pGame->pCShow->PlayMovie(MOVIE_3DOLogo, 1);
if ( !pVideoPlayer->bStopBeforeSchedule )
- {
- PlayFullscreenMovie(MOVIE_NWCLogo, true);
- //pGame->pCShow->PlayMovie(MOVIE_NWCLogo, 1);
- if ( !pVideoPlayer->bStopBeforeSchedule )
- {
- PlayFullscreenMovie(MOVIE_JVC, true);
- //pGame->pCShow->PlayMovie(MOVIE_JVC, 1);
- if ( !pVideoPlayer->bStopBeforeSchedule )
- PlayFullscreenMovie(MOVIE_Intro, true);
- //pGame->pCShow->PlayMovie(MOVIE_Intro, 1);
- }
- }
+ PlayFullscreenMovie(MOVIE_Intro, true);
}
char pContainerName[64];
- sprintf(pContainerName, "data\\New_Icons/%s", "MMTTITLE.pcx");
- tex.LoadPCXFile(pContainerName, 0);
- //tex.Load("MMTTITLE.pcx", 2);
+ tex.Load("mm6title.pcx", 2);
pRenderer->BeginScene();
pRenderer->DrawTextureRGB(0, 0, &tex);
free(tex.pPixels);
tex.pPixels = 0;
- LoadFonts_and_DrawCopyrightWindow();
+ //LoadFonts_and_DrawCopyrightWindow();
+ DrawMM7CopyrightWindow();
pRenderer->EndScene();
pRenderer->Present();
@@ -321,14 +307,14 @@
Sleep(1500); // let the copyright window stay for a while
#endif
- /*if (!bNoSound && pAudioPlayer->hAILRedbook )
+ if (!bNoSound && pAudioPlayer->hAILRedbook )
{
pAudioPlayer->SetMusicVolume((signed __int64)(pSoundVolumeLevels[uMusicVolimeMultiplier] * 64.0));
AIL_redbook_stop(pAudioPlayer->hAILRedbook);
AIL_redbook_track_info(pAudioPlayer->hAILRedbook, 14, &uTrackStartMS, &uTrackEndMS);
AIL_redbook_play(pAudioPlayer->hAILRedbook, uTrackStartMS + 1, uTrackEndMS);
- } */
- bGameoverLoop = 0;
+ }
+ bGameoverLoop = false;
}
//----- (004BE70E) --------------------------------------------------------
diff -r b0f10ef66e00 -r 815d9ecf9881 VideoPlayer.h
--- a/VideoPlayer.h Sun Mar 16 19:42:29 2014 +0100
+++ b/VideoPlayer.h Sun Mar 16 19:43:28 2014 +0100
@@ -105,7 +105,7 @@
-void ShowIntroVideo_and_LoadingScreen();
+void ShowMM7IntroVideo_and_LoadingScreen();
extern "C"
{
diff -r b0f10ef66e00 -r 815d9ecf9881 mm7_2.cpp
--- a/mm7_2.cpp Sun Mar 16 19:42:29 2014 +0100
+++ b/mm7_2.cpp Sun Mar 16 19:43:28 2014 +0100
@@ -66,6 +66,7 @@
#include "NewUI/MainMenu.h"
#include "Level/Decoration.h"
#include "LuaVM.h"
+#include "MMT.h"
//#include "lib/lua/lua.h"
@@ -2356,132 +2357,6 @@
event_triggers[num_event_triggers++] = i;
}
-void MMT_MainMenu_Loop()
-{
- GUIButton *pButton; // eax@27
- unsigned int pControlParam; // ecx@35
- int v10; // ecx@36
- int v11; // ecx@37
- unsigned int pX;
- unsigned int pY; // [sp-18h] [bp-54h]@39
- Texture *pTexture; // [sp-14h] [bp-50h]@39
- GUIButton *pButton2; // [sp+0h] [bp-3Ch]@27
-
- pCurrentScreen = SCREEN_GAME;
-
- pGUIWindow2 = 0;
- pAudioPlayer->StopChannels(-1, -1);//остановить/подготовить канал
- pMouse->RemoveHoldingItem();//избавить курсор от вещи
-
- pIcons_LOD->_inlined_sub2();
-
- pWindow_MMT_MainMenu = GUIWindow::Create(0, 0, window->GetWidth(), window->GetHeight(), WINDOW_MainMenu, 0, 0);
- Texture* MMT_MM6 = pIcons_LOD->LoadTexturePtr("title_new", TEXTURE_16BIT_PALETTE);
- Texture* MMT_MM7 = pIcons_LOD->LoadTexturePtr("title_load", TEXTURE_16BIT_PALETTE);
- Texture* MMT_MM8 = pIcons_LOD->LoadTexturePtr("title_cred", TEXTURE_16BIT_PALETTE);
- Texture* MMT_Continue = pIcons_LOD->LoadTexturePtr("title_exit", TEXTURE_16BIT_PALETTE);
- Texture* MMT_Exit = pIcons_LOD->LoadTexturePtr("title_exit", TEXTURE_16BIT_PALETTE);
-
- pMMT_MainMenu_BtnMM6 = pWindow_MMT_MainMenu->CreateButton((window->GetWidth() / 4) - 100, window->GetHeight() / 4, MMT_MM6->uTextureWidth, MMT_MM6->uTextureHeight, 1, 0, UIMSG_MMT_MainMenu_MM6, 0, 0, "", MMT_MM6, 0);
- pMMT_MainMenu_BtnMM7 = pWindow_MMT_MainMenu->CreateButton(window->GetWidth() - (window->GetWidth() / 4), window->GetHeight() / 4, MMT_MM7->uTextureWidth, MMT_MM7->uTextureHeight, 1, 0, UIMSG_MMT_MainMenu_MM7, 1, 0, "", MMT_MM7, 0);
- pMMT_MainMenu_BtnMM8 = pWindow_MMT_MainMenu->CreateButton(window->GetWidth() - (window->GetWidth() / 4), window->GetHeight() - ((window->GetHeight() / 4) + 50), MMT_MM8->uTextureWidth, MMT_MM8->uTextureHeight, 1, 0, UIMSG_MMT_MainMenu_MM8, 2, 0, "", MMT_MM8, 0);
- pMMT_MainMenu_BtnContinue = pWindow_MMT_MainMenu->CreateButton((window->GetWidth() / 4) - 100, window->GetHeight() - ((window->GetHeight() / 4) + 50), MMT_Continue->uTextureWidth, MMT_Continue->uTextureHeight, 1, 0, UIMSG_MMT_MainMenu_Continue, 3, 0, "", MMT_Continue, 0);
- pMMT_MainMenu_BtnExit = pWindow_MMT_MainMenu->CreateButton(window->GetWidth() - 130, window->GetHeight() - 35, MMT_Exit->uTextureWidth, MMT_Exit->uTextureHeight, 1, 0, UIMSG_ExitToWindows, 4, 0, "", MMT_Exit, 0);
-
- pTexture_PCX.Release();
- //pTexture_PCX.Load("MMTTITLE.pcx", 0);
- char pContainerName[64];
-
- sprintf(pContainerName, "data\\New_Icons/%s", "MMTTITLE.pcx");
- pTexture_PCX.LoadPCXFile(pContainerName, 0);
- SetCurrentMenuID(MENU_MMT_MAIN_MENU);
- SetForegroundWindow(window->GetApiHandle());
- SendMessageW(window->GetApiHandle(), WM_ACTIVATEAPP, 1, 0);
- while (GetCurrentMenuID() == MENU_MMT_MAIN_MENU )
- {
- POINT cursor;
- pMouse->GetCursorPos(&cursor);
-
- for (MSG msg; PeekMessageW(&msg, 0, 0, 0, PM_REMOVE);)
- {
- if (msg.message == WM_QUIT)
- Game_DeinitializeAndTerminate(0);
- TranslateMessage(&msg);
- DispatchMessageW(&msg);
- }
-
- if (dword_6BE364_game_settings_1 & GAME_SETTINGS_APP_INACTIVE)
- {
- WaitMessage();
- continue;
- }
-
- pRenderer->BeginScene();
- pRenderer->DrawTextureRGB(0, 0, &pTexture_PCX);
-
- GUI_MainMenuMessageProc();
- GUI_UpdateWindows();
-
- if ( !pModalWindow )// ???
- {
- pButton = pWindow_MMT_MainMenu->pControlsHead;
- for ( pButton = pWindow_MMT_MainMenu->pControlsHead; pButton; pButton = pButton->pNext )
- {
- if ( cursor.x >= (signed int)pButton->uX && cursor.x <= (signed int)pButton->uZ
- && cursor.y >= (signed int)pButton->uY && cursor.y <= (signed int)pButton->uW )
- {
- pControlParam = pButton->msg_param;
- switch (pControlParam) // подсветка кнопок
- {
- case 0:
- pTexture = MMT_MM6;
- pX = (window->GetWidth() / 4) - 100;
- pY = window->GetHeight() / 4;
- break;
- case 1:
- pTexture = MMT_MM7;
- pX = window->GetWidth() - (window->GetWidth() / 4);
- pY = window->GetHeight() / 4;
- break;
- case 2:
- pTexture = MMT_MM8;
- pX = window->GetWidth() - (window->GetWidth() / 4);
- pY = window->GetHeight() - ((window->GetHeight() / 4) + 50);
- break;
- case 3:
- pTexture = MMT_Continue;
- pX = (window->GetWidth() / 4) - 100;
- pY = window->GetHeight() - ((window->GetHeight() / 4) + 50);
- break;
- case 4:
- pTexture = MMT_Exit;
- pX = window->GetWidth() - 130;
- pY = window->GetHeight() - 35;
- break;
- }
- pRenderer->DrawTextureIndexed(pX, pY, pTexture); //подсветка кнопок
- }
- }
- }
- //}
- pRenderer->EndScene();
- pRenderer->Present();
- }
- GUI_MainMenuMessageProc();
- pRenderer->BeginScene();
- GUI_UpdateWindows();
- pRenderer->EndScene();
- pRenderer->Present();
- pTexture_PCX.Release();
- if ( pGUIWindow2 )
- {
- pGUIWindow2->Release();
- pGUIWindow2 = 0;
- }
- pWindow_MMT_MainMenu->Release();
- pIcons_LOD->RemoveTexturesPackFromTextureList();
-}
-
//----- (004627B7) --------------------------------------------------------
void MainMenu_Loop()
{
@@ -3794,7 +3669,8 @@
pEventTimer->Pause();
SetUserInterface(PartyAlignment_Neutral, false);
- ShowIntroVideo_and_LoadingScreen();
+ ShowLogoVideo();
+ //ShowIntroVideo_and_LoadingScreen();
WriteWindowsRegistryInt("Ran once", 1);
dword_6BE364_game_settings_1 |= GAME_SETTINGS_4000;
pGame->InitializeGammaController();
@@ -3805,18 +3681,6 @@
//Ritor1: include
MMT_MainMenu_Loop();
- unsigned int uTrackStartMS;
- unsigned int uTrackEndMS;
-
- if (!bNoSound && pAudioPlayer->hAILRedbook )
- {
- pAudioPlayer->SetMusicVolume((signed __int64)(pSoundVolumeLevels[uMusicVolimeMultiplier] * 64.0));
- AIL_redbook_stop(pAudioPlayer->hAILRedbook);
- AIL_redbook_track_info(pAudioPlayer->hAILRedbook, 14, &uTrackStartMS, &uTrackEndMS);
- AIL_redbook_play(pAudioPlayer->hAILRedbook, uTrackStartMS + 1, uTrackEndMS);
- }
- //--------
-
Log::Warning(L"MM: entering main loop");
while ( 1 )
{
diff -r b0f10ef66e00 -r 815d9ecf9881 mm7_unsorted_subs.h
--- a/mm7_unsorted_subs.h Sun Mar 16 19:42:29 2014 +0100
+++ b/mm7_unsorted_subs.h Sun Mar 16 19:43:28 2014 +0100
@@ -12,7 +12,7 @@
-void ShowIntroVideo_and_LoadingScreen();
+//void ShowMM7IntroVideo_and_LoadingScreen();
unsigned int GameOverMenu(void *ecx0);
int __fastcall SpawnRandomTreasure(struct MapInfo *a1, struct SpawnPointMM7 *a2);
void DamageMonsterFromParty(signed int a1, unsigned int uActorID_Monster, struct Vec3_int_ *pVelocity);
@@ -126,7 +126,6 @@
void PrepareToLoadBLV(unsigned int bLoading);
void __fastcall PrepareToLoadODM(unsigned int bLoading, struct ODMRenderParams *a2);
void _461103_load_level_sub();
-void MMT_MainMenu_Loop();
void MainMenu_Loop();
char sub_4637E0_is_there_popup_onscreen();
void ResetCursor_Palettes_LODs_Level_Audio_SFT_Windows();