Mercurial > mm7
comparison mm7_5.cpp @ 1033:3a5c8df8381d
* UI cleans and moves
* Deleted many junk global variables.
author | Nomad |
---|---|
date | Tue, 21 May 2013 23:44:51 +0200 |
parents | f93d17337113 |
children | 306ec23b37df 7f8be9f9769e |
comparison
equal
deleted
inserted
replaced
1031:f93d17337113 | 1033:3a5c8df8381d |
---|---|
273 { | 273 { |
274 //Actor::Actor(&actor); | 274 //Actor::Actor(&actor); |
275 memset(&actor, 0, 0x344u); | 275 memset(&actor, 0, 0x344u); |
276 dword_5B65D0_dialogue_actor_npc_id = bDialogueUI_InitializeActor_NPC_ID; | 276 dword_5B65D0_dialogue_actor_npc_id = bDialogueUI_InitializeActor_NPC_ID; |
277 actor.sNPC_ID = bDialogueUI_InitializeActor_NPC_ID; | 277 actor.sNPC_ID = bDialogueUI_InitializeActor_NPC_ID; |
278 actor.InitializeDialogue(0); | 278 GameUI_InitializeDialogue(&actor, false); |
279 bDialogueUI_InitializeActor_NPC_ID = 0; | 279 bDialogueUI_InitializeActor_NPC_ID = 0; |
280 } | 280 } |
281 if ( pMessageQueue_50CBD0->uNumMessages ) | 281 if ( pMessageQueue_50CBD0->uNumMessages ) |
282 { | 282 { |
283 //v1 = ""; | 283 //v1 = ""; |
304 if ( pMessageQueue_50CBD0->uNumMessages ) | 304 if ( pMessageQueue_50CBD0->uNumMessages ) |
305 pMessageQueue_50CBD0->uNumMessages = pMessageQueue_50CBD0->pMessages[0].field_8 != 0; | 305 pMessageQueue_50CBD0->uNumMessages = pMessageQueue_50CBD0->pMessages[0].field_8 != 0; |
306 dword_5B65D0_dialogue_actor_npc_id = pActors[uMessageParam].sNPC_ID; | 306 dword_5B65D0_dialogue_actor_npc_id = pActors[uMessageParam].sNPC_ID; |
307 pActor = &pActors[uMessageParam]; | 307 pActor = &pActors[uMessageParam]; |
308 //goto _actor_init_dlg; | 308 //goto _actor_init_dlg; |
309 pActor->InitializeDialogue(1); | 309 GameUI_InitializeDialogue(pActor, true); |
310 continue; | 310 continue; |
311 case UIMSG_StartHireling1Dialogue: | 311 case UIMSG_StartHireling1Dialogue: |
312 case UIMSG_StartHireling2Dialogue: | 312 case UIMSG_StartHireling2Dialogue: |
313 { | 313 { |
314 if (bNoNPCHiring || pCurrentScreen) | 314 if (bNoNPCHiring || pCurrentScreen) |
357 { | 357 { |
358 //Actor::Actor(&actor); | 358 //Actor::Actor(&actor); |
359 memset(&actor, 0, 0x344u); | 359 memset(&actor, 0, 0x344u); |
360 actor.sNPC_ID += -1 - (unsigned __int8)pParty->field_709 - hireling_idx; | 360 actor.sNPC_ID += -1 - (unsigned __int8)pParty->field_709 - hireling_idx; |
361 pActor = &actor; | 361 pActor = &actor; |
362 pActor->InitializeDialogue(1); | 362 GameUI_InitializeDialogue(&actor, true); |
363 } | 363 } |
364 } | 364 } |
365 continue; | 365 continue; |
366 | 366 |
367 case UIMSG_BuyInShop_Identify_Repair: | 367 case UIMSG_BuyInShop_Identify_Repair: |
404 pIcons_LOD->_4114F2(); | 404 pIcons_LOD->_4114F2(); |
405 if ( pMessageQueue_50CBD0->uNumMessages ) | 405 if ( pMessageQueue_50CBD0->uNumMessages ) |
406 pMessageQueue_50CBD0->uNumMessages = pMessageQueue_50CBD0->pMessages[0].field_8 != 0; | 406 pMessageQueue_50CBD0->uNumMessages = pMessageQueue_50CBD0->pMessages[0].field_8 != 0; |
407 pGUIWindow_CurrentMenu->Release(); | 407 pGUIWindow_CurrentMenu->Release(); |
408 pCurrentScreen = SCREEN_LOADGAME; | 408 pCurrentScreen = SCREEN_LOADGAME; |
409 GameUI_DrawLoadMenu(1); | 409 LoadUI_Load(1); |
410 continue; | 410 continue; |
411 case UIMSG_Quit: | 411 case UIMSG_Quit: |
412 if ( dword_6BE138 == 132 || uMessageParam ) | 412 if ( dword_6BE138 == 132 || uMessageParam ) |
413 { | 413 { |
414 pIcons_LOD->SyncLoadedFilesCount(); | 414 pIcons_LOD->SyncLoadedFilesCount(); |
513 stru_506E40.Release(); | 513 stru_506E40.Release(); |
514 continue; | 514 continue; |
515 case UIMSG_Game_OpenSaveGameDialog: | 515 case UIMSG_Game_OpenSaveGameDialog: |
516 pGUIWindow_CurrentMenu->Release(); | 516 pGUIWindow_CurrentMenu->Release(); |
517 pCurrentScreen = SCREEN_SAVEGAME; | 517 pCurrentScreen = SCREEN_SAVEGAME; |
518 GameUI_DrawSaveMenu(); | 518 SaveUI_Load(); |
519 continue; | 519 continue; |
520 case UIMSG_Game_OpenOptionsDialog://Open | 520 case UIMSG_Game_OpenOptionsDialog://Open |
521 if ( pMessageQueue_50CBD0->uNumMessages ) | 521 if ( pMessageQueue_50CBD0->uNumMessages ) |
522 pMessageQueue_50CBD0->uNumMessages = pMessageQueue_50CBD0->pMessages[0].field_8 != 0; | 522 pMessageQueue_50CBD0->uNumMessages = pMessageQueue_50CBD0->pMessages[0].field_8 != 0; |
523 pGUIWindow_CurrentMenu->Release(); | 523 pGUIWindow_CurrentMenu->Release(); |
2491 dword_506F14 = 1; | 2491 dword_506F14 = 1; |
2492 _506F18_num_hours_to_sleep = 60; | 2492 _506F18_num_hours_to_sleep = 60; |
2493 continue; | 2493 continue; |
2494 case UIMSG_RentRoom: | 2494 case UIMSG_RentRoom: |
2495 dword_506F14 = 2; | 2495 dword_506F14 = 2; |
2496 RestUI_Initialize(); | 2496 RestUI_Load(); |
2497 v86 = 60 * (_494820_training_time(pParty->uCurrentHour) + 1) - pParty->uCurrentMinute; | 2497 v86 = 60 * (_494820_training_time(pParty->uCurrentHour) + 1) - pParty->uCurrentMinute; |
2498 _506F18_num_hours_to_sleep = v86; | 2498 _506F18_num_hours_to_sleep = v86; |
2499 if ( uMessageParam == 111 || uMessageParam == 114 || uMessageParam == 116 ) | 2499 if ( uMessageParam == 111 || uMessageParam == 114 || uMessageParam == 116 ) |
2500 _506F18_num_hours_to_sleep = v86 + 720; | 2500 _506F18_num_hours_to_sleep = v86 + 720; |
2501 dword_506F14 = 2; | 2501 dword_506F14 = 2; |
2532 ShowStatusBarString(pGlobalTXT_LocalizationStrings[478], 2);// "You can't rest in turn-based mode!" | 2532 ShowStatusBarString(pGlobalTXT_LocalizationStrings[478], 2);// "You can't rest in turn-based mode!" |
2533 continue; | 2533 continue; |
2534 } | 2534 } |
2535 if ( !(pParty->uFlags & 0x88) ) | 2535 if ( !(pParty->uFlags & 0x88) ) |
2536 { | 2536 { |
2537 RestUI_Initialize(); | 2537 RestUI_Load(); |
2538 continue; | 2538 continue; |
2539 } | 2539 } |
2540 if ( pParty->bTurnBasedModeOn == 1 ) | 2540 if ( pParty->bTurnBasedModeOn == 1 ) |
2541 { | 2541 { |
2542 ShowStatusBarString(pGlobalTXT_LocalizationStrings[478], 2);// "You can't rest in turn-based mode!" | 2542 ShowStatusBarString(pGlobalTXT_LocalizationStrings[478], 2);// "You can't rest in turn-based mode!" |
5414 else | 5414 else |
5415 result = flt_4E4A80[0]; | 5415 result = flt_4E4A80[0]; |
5416 } | 5416 } |
5417 else | 5417 else |
5418 { | 5418 { |
5419 result = (flt_4E4A80[v2] - *(float *)&aAuthenticamd[4 * v2 + 12]) | 5419 result = (flt_4E4A80[v2] - flt_4E4A80[v2 - 3]) * (v3 - flt_4E4A80[v2 + 4]) / (flt_4E4A80[v2 + 5] - flt_4E4A80[v2 + 4]) + flt_4E4A80[v2]; |
5420 * (v3 - flt_4E4A80[v2 + 4]) | |
5421 / (flt_4E4A80[v2 + 5] - flt_4E4A80[v2 + 4]) | |
5422 + flt_4E4A80[v2]; | |
5423 } | 5420 } |
5424 return result; | 5421 return result; |
5425 } | 5422 } |
5426 | 5423 |
5427 //----- (0043AFE3) -------------------------------------------------------- | 5424 //----- (0043AFE3) -------------------------------------------------------- |
10069 | 10066 |
10070 //----- (004156F0) -------------------------------------------------------- | 10067 //----- (004156F0) -------------------------------------------------------- |
10071 void GUI_UpdateWindows() | 10068 void GUI_UpdateWindows() |
10072 { | 10069 { |
10073 GUIWindow *pWindow; // esi@4 | 10070 GUIWindow *pWindow; // esi@4 |
10074 unsigned int pWindowType; // eax@4 | 10071 //unsigned int pWindowType; // eax@4 |
10075 char *pHint; // edx@66 | 10072 char *pHint; // edx@66 |
10076 GUIButton *pButtonPtr_1C; // ebp@79 | 10073 GUIButton *pButtonPtr_1C; // ebp@79 |
10077 char *pHint1; // edx@80 | 10074 char *pHint1; // edx@80 |
10078 int v26; // eax@98 | 10075 int v26; // eax@98 |
10079 unsigned int v27; // ebp@106 | 10076 unsigned int v27; // ebp@106 |
10097 UI_OnKeyDown(VK_NEXT); | 10094 UI_OnKeyDown(VK_NEXT); |
10098 | 10095 |
10099 for ( i = 1; i <= uNumVisibleWindows; ++i ) | 10096 for ( i = 1; i <= uNumVisibleWindows; ++i ) |
10100 { | 10097 { |
10101 pWindow = &pWindowList[pVisibleWindowsIdxs[i] - 1]; | 10098 pWindow = &pWindowList[pVisibleWindowsIdxs[i] - 1]; |
10102 pWindowType = pWindow->eWindowType; | |
10103 switch (pWindow->eWindowType) | 10099 switch (pWindow->eWindowType) |
10104 { | 10100 { |
10105 case WINDOW_OptionsButtons: | 10101 case WINDOW_OptionsButtons: |
10106 { | 10102 { |
10107 pRenderer->DrawTextureIndexed(pViewport->uViewportTL_Y, | 10103 pRenderer->DrawTextureIndexed(pViewport->uViewportTL_Y, |
10124 BookUI_Draw((WindowType)(int)pWindow->ptr_1C); | 10120 BookUI_Draw((WindowType)(int)pWindow->ptr_1C); |
10125 continue; | 10121 continue; |
10126 } | 10122 } |
10127 case WINDOW_Dialogue: | 10123 case WINDOW_Dialogue: |
10128 { | 10124 { |
10129 DrawDialogueUI(); | 10125 GameUI_DrawDialogue(); |
10130 continue; | 10126 continue; |
10131 } | 10127 } |
10132 case WINDOW_QuickReference: | 10128 case WINDOW_QuickReference: |
10133 { | 10129 { |
10134 GameUI_QuickRef_Draw(); | 10130 GameUI_QuickRef_Draw(); |
10149 DrawSpellBookContent(pPlayers[uActiveCharacter]); | 10145 DrawSpellBookContent(pPlayers[uActiveCharacter]); |
10150 continue; | 10146 continue; |
10151 } | 10147 } |
10152 case WINDOW_GreetingNPC: | 10148 case WINDOW_GreetingNPC: |
10153 { | 10149 { |
10154 DrawBranchlessDialogueUI(); | 10150 GameUI_DrawBranchlessDialogue(); |
10155 continue; | 10151 continue; |
10156 } | 10152 } |
10157 case WINDOW_Chest: | 10153 case WINDOW_Chest: |
10158 { | 10154 { |
10159 if ( pCurrentScreen == SCREEN_CHEST ) | 10155 if ( pCurrentScreen == SCREEN_CHEST ) |
10169 } | 10165 } |
10170 continue; | 10166 continue; |
10171 } | 10167 } |
10172 case WINDOW_SaveLoadButtons: | 10168 case WINDOW_SaveLoadButtons: |
10173 { | 10169 { |
10174 sub_4606FE(); | 10170 SaveUI_Draw(); |
10175 continue; | 10171 continue; |
10176 } | 10172 } |
10177 case WINDOW_MainMenu_Load: | 10173 case WINDOW_MainMenu_Load: |
10178 { | 10174 { |
10179 GameUI_MainMenu_DrawLoad(); | 10175 LoadUI_Draw(); |
10180 continue; | 10176 continue; |
10181 } | 10177 } |
10182 case WINDOW_HouseInterior: | 10178 case WINDOW_HouseInterior: |
10183 { | 10179 { |
10184 pWindowList[pVisibleWindowsIdxs[i] - 1].HouseDialogManager(); | 10180 pWindowList[pVisibleWindowsIdxs[i] - 1].HouseDialogManager(); |
10437 case WINDOW_BooksWindow: | 10433 case WINDOW_BooksWindow: |
10438 { | 10434 { |
10439 pButton = (GUIButton *)pWindow->ptr_1C; | 10435 pButton = (GUIButton *)pWindow->ptr_1C; |
10440 pRenderer->DrawTextureIndexed(pWindow->uFrameY, | 10436 pRenderer->DrawTextureIndexed(pWindow->uFrameY, |
10441 pWindow->uFrameX, pButton->pTextures[0]); | 10437 pWindow->uFrameX, pButton->pTextures[0]); |
10442 viewparams->bRedrawGameUI = 1; | 10438 viewparams->bRedrawGameUI = true; |
10443 continue; | 10439 continue; |
10444 } | 10440 } |
10445 case WINDOW_CharacterWindow_Inventory: | 10441 case WINDOW_CharacterWindow_Inventory: |
10446 { | 10442 { |
10447 pWindow->DrawMessageBox(0); | 10443 pWindow->DrawMessageBox(0); |
10484 if ( sub_4637E0_is_there_popup_onscreen() ) | 10480 if ( sub_4637E0_is_there_popup_onscreen() ) |
10485 sub_416D62_ShowPopupWindow_MonsterRecord_ItemInfo_etcsub_416D62(0); | 10481 sub_416D62_ShowPopupWindow_MonsterRecord_ItemInfo_etcsub_416D62(0); |
10486 } | 10482 } |
10487 | 10483 |
10488 //----- (00416196) -------------------------------------------------------- | 10484 //----- (00416196) -------------------------------------------------------- |
10489 void __cdecl identify_item() | 10485 void identify_item() |
10490 { | 10486 { |
10491 Player *v0; // esi@2 | 10487 Player *v0; // esi@2 |
10492 POINT *v1; // edi@2 | 10488 POINT *v1; // edi@2 |
10493 signed int v2; // ecx@5 | 10489 signed int v2; // ecx@5 |
10494 signed int v3; // eax@5 | 10490 signed int v3; // eax@5 |
10772 v26 = rand(); | 10768 v26 = rand(); |
10773 v0->ReceiveDamage(v26 % 11 + 10, 0); | 10769 v0->ReceiveDamage(v26 % 11 + 10, 0); |
10774 pAudioPlayer->PlaySound(SOUND_8, 0, 0, -1, 0, 0, 0, 0); | 10770 pAudioPlayer->PlaySound(SOUND_8, 0, 0, -1, 0, 0, 0, 0); |
10775 | 10771 |
10776 pMessageQueue_50CBD0->AddMessage(UIMSG_Escape, 0, 0); | 10772 pMessageQueue_50CBD0->AddMessage(UIMSG_Escape, 0, 0); |
10777 /*if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) | 10773 |
10778 { | |
10779 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = UIMSG_Escape; | |
10780 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; | |
10781 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; | |
10782 ++pMessageQueue_50CBD0->uNumMessages; | |
10783 }*/ | |
10784 v42 = (int *)&a2.y; | 10774 v42 = (int *)&a2.y; |
10785 v41 = (int *)&y.y; | 10775 v41 = (int *)&y.y; |
10786 v40 = (int *)&pOut; | 10776 v40 = (int *)&pOut; |
10787 v39.z = pParty->vPosition.z + pParty->sEyelevel; | 10777 v39.z = pParty->vPosition.z + pParty->sEyelevel; |
10788 } | 10778 } |
10850 } | 10840 } |
10851 v0->ItemsEnchant(v23); | 10841 v0->ItemsEnchant(v23); |
10852 pAudioPlayer->PlaySound(SOUND_8, 0, 0, -1, 0, 0, 0, 0); | 10842 pAudioPlayer->PlaySound(SOUND_8, 0, 0, -1, 0, 0, 0, 0); |
10853 | 10843 |
10854 pMessageQueue_50CBD0->AddMessage(UIMSG_Escape, 0, 0); | 10844 pMessageQueue_50CBD0->AddMessage(UIMSG_Escape, 0, 0); |
10855 /*if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) | 10845 |
10856 { | |
10857 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = UIMSG_Escape; | |
10858 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; | |
10859 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; | |
10860 ++pMessageQueue_50CBD0->uNumMessages; | |
10861 }*/ | |
10862 v42 = (int *)&a2.y; | 10846 v42 = (int *)&a2.y; |
10863 v41 = (int *)&y.y; | 10847 v41 = (int *)&y.y; |
10864 v40 = (int *)&pOut; | 10848 v40 = (int *)&pOut; |
10865 v39.z = pParty->vPosition.z + pParty->sEyelevel; | 10849 v39.z = pParty->vPosition.z + pParty->sEyelevel; |
10866 } | 10850 } |
10923 } | 10907 } |
10924 } | 10908 } |
10925 | 10909 |
10926 | 10910 |
10927 //----- (00416B01) -------------------------------------------------------- | 10911 //----- (00416B01) -------------------------------------------------------- |
10928 void __thiscall sub_416B01(void *_this)//PopupWindowForBenefitAndJoinText | 10912 void GameUI_DrawNPCPopup(void *_this)//PopupWindowForBenefitAndJoinText |
10929 { | 10913 { |
10930 int v1; // edi@2 | 10914 int v1; // edi@2 |
10931 int v2; // ecx@2 | 10915 int v2; // ecx@2 |
10932 NPCData *v3; // eax@2 | 10916 NPCData *v3; // eax@2 |
10933 NPCData *v4; // esi@7 | 10917 NPCData *v4; // esi@7 |