Mercurial > mm7
comparison mm7_5.cpp @ 437:0a1ea44b4a0a
ui mesages & spellcasting
author | Nomad |
---|---|
date | Sun, 24 Feb 2013 09:51:42 +0200 |
parents | 137c59c3dbc4 |
children | e5cf03a3d98e |
comparison
equal
deleted
inserted
replaced
435:4f451a616d3d | 437:0a1ea44b4a0a |
---|---|
75 //int v6; // edx@20 | 75 //int v6; // edx@20 |
76 //int v7; // ecx@29 | 76 //int v7; // ecx@29 |
77 unsigned int v8; // edx@59 | 77 unsigned int v8; // edx@59 |
78 unsigned int v9; // ecx@60 | 78 unsigned int v9; // ecx@60 |
79 unsigned int v10; // ecx@73 | 79 unsigned int v10; // ecx@73 |
80 unsigned int v11; // eax@75 | 80 //unsigned int v11; // eax@75 |
81 unsigned __int8 v12; // sf@75 | 81 unsigned __int8 v12; // sf@75 |
82 unsigned __int8 v13; // of@75 | 82 unsigned __int8 v13; // of@75 |
83 int v14; // eax@98 | 83 int v14; // eax@98 |
84 unsigned int v15; // eax@102 | 84 unsigned int v15; // eax@102 |
85 unsigned __int8 v16; // al@104 | 85 unsigned __int8 v16; // al@104 |
487 if ( pCurrentScreen != SCREEN_SAVEGAME || uLoadGameUI_SelectedSlot != pSaveListPosition + uMessageParam ) | 487 if ( pCurrentScreen != SCREEN_SAVEGAME || uLoadGameUI_SelectedSlot != pSaveListPosition + uMessageParam ) |
488 { | 488 { |
489 v10 = pSaveListPosition + uMessageParam; | 489 v10 = pSaveListPosition + uMessageParam; |
490 if ( dword_6BE138 == pSaveListPosition + uMessageParam ) | 490 if ( dword_6BE138 == pSaveListPosition + uMessageParam ) |
491 { | 491 { |
492 if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) | 492 pMessageQueue_50CBD0->AddMessage(UIMSG_LoadSlot, 0, 0); |
493 pMessageQueue_50CBD0->AddMessage(UIMSG_LoadGame, 0, 0); | |
494 /*if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) | |
493 { | 495 { |
494 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = (UIMessageType)164; | 496 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = UIMSG_LoadSlot; |
495 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; | 497 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; |
496 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; | 498 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; |
497 v11 = pMessageQueue_50CBD0->uNumMessages + 1; | 499 //v11 = pMessageQueue_50CBD0->uNumMessages + 1; |
498 v13 = pMessageQueue_50CBD0->uNumMessages + 1 > 40; | 500 //v13 = pMessageQueue_50CBD0->uNumMessages + 1 > 40; |
499 v12 = (signed int)pMessageQueue_50CBD0->uNumMessages - 39 < 0; | 501 //v12 = (signed int)pMessageQueue_50CBD0->uNumMessages - 39 < 0; |
500 ++pMessageQueue_50CBD0->uNumMessages; | 502 ++pMessageQueue_50CBD0->uNumMessages; |
501 if ( v12 ^ v13 ) | 503 if ( v12 ^ v13 ) |
502 { | 504 { |
503 pMessageQueue_50CBD0->pMessages[v11].eType = (UIMessageType)82; | 505 pMessageQueue_50CBD0->pMessages[v11].eType = UIMSG_LoadGame; |
504 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; | 506 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; |
505 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; | 507 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; |
506 ++pMessageQueue_50CBD0->uNumMessages; | 508 ++pMessageQueue_50CBD0->uNumMessages; |
507 } | 509 } |
508 } | 510 }*/ |
509 } | 511 } |
510 uLoadGameUI_SelectedSlot = v10; | 512 uLoadGameUI_SelectedSlot = v10; |
511 dword_6BE138 = v10; | 513 dword_6BE138 = v10; |
512 } | 514 } |
513 else | 515 else |
1916 _5B65B0_npcdata_rep_or_other = v56; | 1918 _5B65B0_npcdata_rep_or_other = v56; |
1917 dword_5B65C0 = v55 | _5B65AC_npcdata_fame_or_other | v56 | v57; | 1919 dword_5B65C0 = v55 | _5B65AC_npcdata_fame_or_other | v56 | v57; |
1918 } | 1920 } |
1919 sub_4BD8B5(); | 1921 sub_4BD8B5(); |
1920 //goto LABEL_434; | 1922 //goto LABEL_434; |
1921 if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) | 1923 /*if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) |
1922 { | 1924 { |
1923 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = (UIMessageType)113; | 1925 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = (UIMessageType)113; |
1924 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = v0; | 1926 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = v0; |
1925 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; | 1927 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; |
1926 ++pMessageQueue_50CBD0->uNumMessages; | 1928 ++pMessageQueue_50CBD0->uNumMessages; |
1927 } | 1929 }*/ |
1930 pMessageQueue_50CBD0->AddMessage(UIMSG_Escape, v0, 0); | |
1928 continue; | 1931 continue; |
1929 case UIMSG_C3: | 1932 case UIMSG_C3: |
1930 pAudioPlayer->StopChannels(-1, -1); | 1933 pAudioPlayer->StopChannels(-1, -1); |
1931 v162 = uMessageParam; | 1934 v162 = uMessageParam; |
1932 v148 = 195; | 1935 v148 = 195; |
1985 sub_41C0B8_set_status_string(pTmpBuf); | 1988 sub_41C0B8_set_status_string(pTmpBuf); |
1986 continue; | 1989 continue; |
1987 case UIMSG_B5: | 1990 case UIMSG_B5: |
1988 dword_50CDC8 = v0; | 1991 dword_50CDC8 = v0; |
1989 //goto LABEL_453; | 1992 //goto LABEL_453; |
1990 if ( (signed int)pMessageQueue_50CBD0->uNumMessages >= 40 ) | 1993 pMessageQueue_50CBD0->AddMessage(UIMSG_Escape, 0, 0); |
1994 /*if ( (signed int)pMessageQueue_50CBD0->uNumMessages >= 40 ) | |
1991 continue; | 1995 continue; |
1992 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = (UIMessageType)113; | 1996 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = (UIMessageType)113; |
1993 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; | 1997 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; |
1994 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; | 1998 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; |
1995 ++pMessageQueue_50CBD0->uNumMessages; | 1999 ++pMessageQueue_50CBD0->uNumMessages;*/ |
1996 continue; | 2000 continue; |
1997 case UIMSG_B3: | 2001 case UIMSG_B3: |
1998 pPlayer9 = pPlayers[_506348_current_lloyd_playerid + 1]; | 2002 pPlayer9 = pPlayers[_506348_current_lloyd_playerid + 1]; |
1999 pNPCData4 = (NPCData *)&pPlayer9->pInstalledBeacons[uMessageParam]; | 2003 pNPCData4 = (NPCData *)&pPlayer9->pInstalledBeacons[uMessageParam]; |
2000 if ( !*(_QWORD *)&pNPCData4->pName && bRecallingBeacon ) | 2004 if ( !*(_QWORD *)&pNPCData4->pName && bRecallingBeacon ) |
2036 pParty->vPosition.z = pNPCData4->rep; | 2040 pParty->vPosition.z = pNPCData4->rep; |
2037 pParty->uFallStartY = pParty->vPosition.z; | 2041 pParty->uFallStartY = pParty->vPosition.z; |
2038 pParty->sRotationY = LOWORD(pNPCData4->Location2D); | 2042 pParty->sRotationY = LOWORD(pNPCData4->Location2D); |
2039 pParty->sRotationX = HIWORD(pNPCData4->Location2D); | 2043 pParty->sRotationX = HIWORD(pNPCData4->Location2D); |
2040 } | 2044 } |
2041 if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) | 2045 pMessageQueue_50CBD0->AddMessage(UIMSG_Escape, v0, 0); |
2046 /*if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) | |
2042 { | 2047 { |
2043 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = UIMSG_Escape; | 2048 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = UIMSG_Escape; |
2044 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = v0; | 2049 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = v0; |
2045 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; | 2050 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; |
2046 ++pMessageQueue_50CBD0->uNumMessages; | 2051 ++pMessageQueue_50CBD0->uNumMessages; |
2047 } | 2052 }*/ |
2048 //crt_deconstruct_ptr_6A0118(); | 2053 //crt_deconstruct_ptr_6A0118(); |
2049 pBooksWindow->Release(); | 2054 pBooksWindow->Release(); |
2050 pGUIWindow_CurrentMenu->Release(); | 2055 pGUIWindow_CurrentMenu->Release(); |
2051 pBooksWindow = 0; | 2056 pBooksWindow = 0; |
2052 pGUIWindow_CurrentMenu = 0; | 2057 pGUIWindow_CurrentMenu = 0; |
2133 if ( v67 ) | 2138 if ( v67 ) |
2134 *((int *)v67 + 17) = v0; | 2139 *((int *)v67 + 17) = v0; |
2135 else | 2140 else |
2136 pParty->pPlayers[(unsigned __int8)byte_50C0C0].CanCastSpell(0x14u); | 2141 pParty->pPlayers[(unsigned __int8)byte_50C0C0].CanCastSpell(0x14u); |
2137 //LABEL_434: | 2142 //LABEL_434: |
2138 if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) | 2143 /*if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) |
2139 { | 2144 { |
2140 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = (UIMessageType)113; | 2145 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = (UIMessageType)113; |
2141 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = v0; | 2146 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = v0; |
2142 //LABEL_771: | 2147 //LABEL_771: |
2143 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; | 2148 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; |
2144 ++pMessageQueue_50CBD0->uNumMessages; | 2149 ++pMessageQueue_50CBD0->uNumMessages; |
2145 } | 2150 }*/ |
2151 pMessageQueue_50CBD0->AddMessage(UIMSG_Escape, v0, 0); | |
2146 continue; | 2152 continue; |
2147 } | 2153 } |
2148 v63 = 210; | 2154 v63 = 210; |
2149 break; | 2155 break; |
2150 } | 2156 } |
2686 HIDWORD(pParty->pPlayers[pPlayerNum].pConditions[2]) = 0; | 2692 HIDWORD(pParty->pPlayers[pPlayerNum].pConditions[2]) = 0; |
2687 v95 = rand(); | 2693 v95 = rand(); |
2688 Rest(v95 % 6 + 60); | 2694 Rest(v95 % 6 + 60); |
2689 _506F18_num_hours_to_sleep = 0; | 2695 _506F18_num_hours_to_sleep = 0; |
2690 dword_506F14 = 0; | 2696 dword_506F14 = 0; |
2691 if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) | 2697 /*if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) |
2692 { | 2698 { |
2693 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = (UIMessageType)113; | 2699 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = (UIMessageType)113; |
2694 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; | 2700 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; |
2695 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; | 2701 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; |
2696 ++pMessageQueue_50CBD0->uNumMessages; | 2702 ++pMessageQueue_50CBD0->uNumMessages; |
2697 } | 2703 }*/ |
2704 pMessageQueue_50CBD0->AddMessage(UIMSG_Escape, 0, 0); | |
2698 ShowStatusBarString(pGlobalTXT_LocalizationStrings[481], 2u);// "Encounter!" | 2705 ShowStatusBarString(pGlobalTXT_LocalizationStrings[481], 2u);// "Encounter!" |
2699 v165 = 0; | 2706 v165 = 0; |
2700 v151 = 0; | 2707 v151 = 0; |
2701 v144 = 0; | 2708 v144 = 0; |
2702 v139 = 0; | 2709 v139 = 0; |
2872 v135 = -1; | 2879 v135 = -1; |
2873 v132 = 0; | 2880 v132 = 0; |
2874 v130 = 0; | 2881 v130 = 0; |
2875 v127 = rand() % 2 + 204; | 2882 v127 = rand() % 2 + 204; |
2876 goto _play_sound_and_continue; | 2883 goto _play_sound_and_continue; |
2877 case UIMSG_56: | 2884 case UIMSG_SelectSpell: |
2878 if ( pTurnEngine->field_4 != 3 ) | 2885 { |
2879 { | 2886 if (pTurnEngine->field_4 == 3) |
2880 if ( uActiveCharacter ) | 2887 continue; |
2881 { | 2888 if (!uActiveCharacter) |
2882 uNumSeconds = (unsigned int)pPlayers[uActiveCharacter]; | 2889 continue; |
2883 if ( *(char *)(uNumSeconds + 11 * *(char *)(uNumSeconds + 6734) + uMessageParam + 402) ) | 2890 |
2884 { | 2891 // uNumSeconds = (unsigned int)pPlayers[uActiveCharacter]; |
2892 auto player = pPlayers[uActiveCharacter]; | |
2893 if (player->spellbook.pChapters[player->lastOpenedSpellbookPage].bIsSpellAvailable[uMessageParam]) | |
2894 //if ( *(char *)(uNumSeconds + 11 * *(char *)(uNumSeconds + &lastOpenedSpellbookPage) + uMessageParam + 402) ) | |
2895 { | |
2885 if ( dword_50654C - 1 == uMessageParam ) | 2896 if ( dword_50654C - 1 == uMessageParam ) |
2886 { | 2897 { |
2887 pGUIWindow_CurrentMenu->Release(); | 2898 pGUIWindow_CurrentMenu->Release(); |
2888 pEventTimer->Resume(); | 2899 pEventTimer->Resume(); |
2889 viewparams->bRedrawGameUI = v0; | 2900 viewparams->bRedrawGameUI = v0; |
2890 pCurrentScreen = SCREEN_GAME; | 2901 pCurrentScreen = SCREEN_GAME; |
2891 pIcons_LOD->_4114F2(); | 2902 pIcons_LOD->_4114F2(); |
2892 v103 = dword_50654C + 11 * *(char *)(uNumSeconds + 6734); | 2903 v103 = dword_50654C + 11 * player->lastOpenedSpellbookPage; |
2893 if ( dword_50C9E8 < 40 ) | 2904 if ( dword_50C9E8 < 40 ) |
2894 { | 2905 { |
2895 dword_50C9EC[3 * dword_50C9E8] = 142; | 2906 dword_50C9EC[3 * dword_50C9E8] = UIMSG_CastSpellFromBook; |
2896 dword_50C9F0[3 * dword_50C9E8] = v103; | 2907 dword_50C9EC[3 * dword_50C9E8 + 1] = v103; |
2897 *(&dword_50C9E8 + 3 * dword_50C9E8 + 3) = uActiveCharacter - 1; | 2908 dword_50C9EC[3 * dword_50C9E8 + 2] = uActiveCharacter - 1; |
2898 ++dword_50C9E8; | 2909 ++dword_50C9E8; |
2899 } | 2910 } |
2900 } | 2911 } |
2901 else | 2912 else |
2902 { | 2913 { |
2903 byte_506550 = 1; | 2914 byte_506550 = 1; |
2904 dword_50654C = uMessageParam + 1; | 2915 dword_50654C = uMessageParam + 1; |
2905 } | 2916 } |
2906 } | 2917 } |
2907 } | 2918 } |
2908 } | 2919 continue; |
2909 continue; | |
2910 | 2920 |
2911 case UIMSG_CastSpellFromBook: | 2921 case UIMSG_CastSpellFromBook: |
2912 if ( pTurnEngine->field_4 != 3 ) | 2922 if ( pTurnEngine->field_4 != 3 ) |
2913 _42777D_CastSpell_UseWand_ShootArrow(uMessageParam, v199, 0, 0, 0); | 2923 _42777D_CastSpell_UseWand_ShootArrow(uMessageParam, v199, 0, 0, 0); |
2914 continue; | 2924 continue; |
3011 free((void *)uNumSeconds); | 3021 free((void *)uNumSeconds); |
3012 stru_506E40._40E55E("gamma.pcx", 0); | 3022 stru_506E40._40E55E("gamma.pcx", 0); |
3013 GUIWindow::Create(0x25Au, 0x1C2u, 0, 0, WINDOW_VoiceSwitcherButton, (int)pBtn_GameSettings, 0); | 3023 GUIWindow::Create(0x25Au, 0x1C2u, 0, 0, WINDOW_VoiceSwitcherButton, (int)pBtn_GameSettings, 0); |
3014 uNumVisibleWindows = uNumVisibleWindows - 1; //Ritor1: Insert | 3024 uNumVisibleWindows = uNumVisibleWindows - 1; //Ritor1: Insert |
3015 //LABEL_453: | 3025 //LABEL_453: |
3016 if ( (signed int)pMessageQueue_50CBD0->uNumMessages >= 40 ) | 3026 /*if ( (signed int)pMessageQueue_50CBD0->uNumMessages >= 40 ) |
3017 continue; | 3027 continue; |
3018 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = (UIMessageType)113; | 3028 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = (UIMessageType)113; |
3019 //goto LABEL_770; | 3029 //goto LABEL_770; |
3020 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; | 3030 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; |
3021 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; | 3031 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; |
3022 ++pMessageQueue_50CBD0->uNumMessages; | 3032 ++pMessageQueue_50CBD0->uNumMessages;*/ |
3033 pMessageQueue_50CBD0->AddMessage(UIMSG_Escape, 0, 0); | |
3023 continue; | 3034 continue; |
3024 case UIMSG_C0: | 3035 case UIMSG_C0: |
3025 dword_50651C = v0; | 3036 dword_50651C = v0; |
3026 if ( pMouse->GetCursorPos(&v211)->y > 178 ) | 3037 if ( pMouse->GetCursorPos(&v211)->y > 178 ) |
3027 dword_50651C = -1; | 3038 dword_50651C = -1; |
3307 } | 3318 } |
3308 v115 = pMessageQueue_50CBD0->uNumMessages; | 3319 v115 = pMessageQueue_50CBD0->uNumMessages; |
3309 if ( !pMessageQueue_50CBD0->uNumMessages ) | 3320 if ( !pMessageQueue_50CBD0->uNumMessages ) |
3310 //goto LABEL_768; | 3321 //goto LABEL_768; |
3311 { | 3322 { |
3312 if ( (signed int)v115 < 40 ) | 3323 pMessageQueue_50CBD0->AddMessage(UIMSG_E, 0, 0); |
3324 /*if ( (signed int)v115 < 40 ) | |
3313 //goto LABEL_769; | 3325 //goto LABEL_769; |
3314 { | 3326 { |
3315 pMessageQueue_50CBD0->pMessages[v115].eType = (UIMessageType)14; | 3327 pMessageQueue_50CBD0->pMessages[v115].eType = (UIMessageType)14; |
3316 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; | 3328 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; |
3317 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; | 3329 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; |
3318 ++pMessageQueue_50CBD0->uNumMessages; | 3330 ++pMessageQueue_50CBD0->uNumMessages; |
3319 continue; | 3331 continue; |
3320 } | 3332 }*/ |
3321 continue; | 3333 continue; |
3322 } | 3334 } |
3323 if ( pMessageQueue_50CBD0->pMessages[0].field_8 ) | 3335 if ( pMessageQueue_50CBD0->pMessages[0].field_8 ) |
3324 { | 3336 { |
3325 v115 = v0; | 3337 pMessageQueue_50CBD0->uNumMessages = v0; |
3338 pMessageQueue_50CBD0->AddMessage(UIMSG_E, 0, 0); | |
3339 /*v115 = v0; | |
3326 pMessageQueue_50CBD0->uNumMessages = v0; | 3340 pMessageQueue_50CBD0->uNumMessages = v0; |
3327 //LABEL_769: | 3341 //LABEL_769: |
3328 pMessageQueue_50CBD0->pMessages[v115].eType = (UIMessageType)14; | 3342 pMessageQueue_50CBD0->pMessages[v115].eType = (UIMessageType)14; |
3329 //LABEL_770: | 3343 //LABEL_770: |
3330 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; | 3344 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; |
3331 //goto LABEL_771; | 3345 //goto LABEL_771; |
3332 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; | 3346 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; |
3333 ++pMessageQueue_50CBD0->uNumMessages; | 3347 ++pMessageQueue_50CBD0->uNumMessages;*/ |
3334 continue; | 3348 continue; |
3335 } | 3349 } |
3336 v115 = 0; | 3350 v115 = 0; |
3337 pMessageQueue_50CBD0->uNumMessages = 0; | 3351 pMessageQueue_50CBD0->uNumMessages = 0; |
3338 //LABEL_768: | 3352 //LABEL_768: |
3339 if ( (signed int)v115 < 40 ) | 3353 pMessageQueue_50CBD0->AddMessage(UIMSG_E, 0, 0); |
3354 /*if ( (signed int)v115 < 40 ) | |
3340 //goto LABEL_769; | 3355 //goto LABEL_769; |
3341 { | 3356 { |
3342 pMessageQueue_50CBD0->pMessages[v115].eType = (UIMessageType)14; | 3357 pMessageQueue_50CBD0->pMessages[v115].eType = (UIMessageType)14; |
3343 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; | 3358 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; |
3344 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; | 3359 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; |
3345 ++pMessageQueue_50CBD0->uNumMessages; | 3360 ++pMessageQueue_50CBD0->uNumMessages; |
3346 continue; | 3361 continue; |
3347 } | 3362 }*/ |
3348 continue; | 3363 continue; |
3349 case UIMSG_E: | 3364 case UIMSG_E: |
3350 //LABEL_772: | 3365 //LABEL_772: |
3351 if ( pMessageQueue_50CBD0->uNumMessages ) | 3366 if ( pMessageQueue_50CBD0->uNumMessages ) |
3352 pMessageQueue_50CBD0->uNumMessages = pMessageQueue_50CBD0->pMessages[0].field_8 != 0; | 3367 pMessageQueue_50CBD0->uNumMessages = pMessageQueue_50CBD0->pMessages[0].field_8 != 0; |
3453 pMessageQueue_50CBD0->uNumMessages = dword_50C9E8; | 3468 pMessageQueue_50CBD0->uNumMessages = dword_50C9E8; |
3454 memcpy(pMessageQueue_50CBD0->pMessages, dword_50C9EC, 12 * dword_50C9E8); | 3469 memcpy(pMessageQueue_50CBD0->pMessages, dword_50C9EC, 12 * dword_50C9E8); |
3455 dword_50C9E8 = 0; | 3470 dword_50C9E8 = 0; |
3456 if ( dword_50C9DC ) | 3471 if ( dword_50C9DC ) |
3457 { | 3472 { |
3458 if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) | 3473 /*if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) |
3459 { | 3474 { |
3460 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = (UIMessageType)dword_50C9DC; | 3475 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = (UIMessageType)dword_50C9DC; |
3461 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = (int)ptr_50C9E0; | 3476 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = (int)ptr_50C9E0; |
3462 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; | 3477 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; |
3463 ++pMessageQueue_50CBD0->uNumMessages; | 3478 ++pMessageQueue_50CBD0->uNumMessages; |
3464 } | 3479 }*/ |
3480 pMessageQueue_50CBD0->AddMessage((UIMessageType)dword_50C9DC, (int)ptr_50C9E0, 0); | |
3465 dword_50C9DC = 0; | 3481 dword_50C9DC = 0; |
3466 } | 3482 } |
3467 else | 3483 else |
3468 { | 3484 { |
3469 if ( dword_50C9D0 > 0 ) | 3485 if ( dword_50C9D0 > 0 ) |
3470 { | 3486 { |
3471 dword_50C9D8 -= pEventTimer->uTimeElapsed; | 3487 dword_50C9D8 -= pEventTimer->uTimeElapsed; |
3472 if ( dword_50C9D8 <= 0 ) | 3488 if ( dword_50C9D8 <= 0 ) |
3473 { | 3489 { |
3474 if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) | 3490 /*if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) |
3475 { | 3491 { |
3476 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = (UIMessageType)dword_50C9D0; | 3492 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = (UIMessageType)dword_50C9D0; |
3477 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = dword_50C9D4; | 3493 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = dword_50C9D4; |
3478 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; | 3494 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; |
3479 ++pMessageQueue_50CBD0->uNumMessages; | 3495 ++pMessageQueue_50CBD0->uNumMessages; |
3480 } | 3496 }*/ |
3497 pMessageQueue_50CBD0->AddMessage((UIMessageType)dword_50C9D0, dword_50C9D4, 0); | |
3481 dword_50C9D0 = 0; | 3498 dword_50C9D0 = 0; |
3482 dword_50C9D4 = 0; | 3499 dword_50C9D4 = 0; |
3483 dword_50C9D8 = 0; | 3500 dword_50C9D8 = 0; |
3484 } | 3501 } |
3485 } | 3502 } |
3697 { | 3714 { |
3698 //load clicked line | 3715 //load clicked line |
3699 v26 = uNum + pSaveListPosition; | 3716 v26 = uNum + pSaveListPosition; |
3700 if ( dword_6BE138 == uNum + pSaveListPosition ) | 3717 if ( dword_6BE138 == uNum + pSaveListPosition ) |
3701 { | 3718 { |
3702 pMessageQueue_50CBD0->SendMessage(UIMSG_LoadSlot, 0, 0); | 3719 pMessageQueue_50CBD0->AddMessage(UIMSG_LoadSlot, 0, 0); |
3703 pMessageQueue_50CBD0->SendMessage(UIMSG_LoadGame, 0, 0); | 3720 pMessageQueue_50CBD0->AddMessage(UIMSG_LoadGame, 0, 0); |
3704 } | 3721 } |
3705 uLoadGameUI_SelectedSlot = v26; | 3722 uLoadGameUI_SelectedSlot = v26; |
3706 dword_6BE138 = v26; | 3723 dword_6BE138 = v26; |
3707 } | 3724 } |
3708 else | 3725 else |
3775 pEventTimer->Resume(); | 3792 pEventTimer->Resume(); |
3776 pCurrentScreen = SCREEN_GAME; | 3793 pCurrentScreen = SCREEN_GAME; |
3777 viewparams->bRedrawGameUI = 1; | 3794 viewparams->bRedrawGameUI = 1; |
3778 } | 3795 } |
3779 GUIWindow::Create(602, 450, 0, 0, WINDOW_VoiceSwitcherButton, (int)pBtn_GameSettings, 0); | 3796 GUIWindow::Create(602, 450, 0, 0, WINDOW_VoiceSwitcherButton, (int)pBtn_GameSettings, 0); |
3780 if ( (signed int)pMessageQueue_50CBD0->uNumMessages >= 40 ) | 3797 /*if ( (signed int)pMessageQueue_50CBD0->uNumMessages >= 40 ) |
3781 continue; | 3798 continue; |
3782 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = UIMSG_Escape; | 3799 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = UIMSG_Escape; |
3783 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; | 3800 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; |
3784 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; | 3801 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; |
3785 ++pMessageQueue_50CBD0->uNumMessages; | 3802 ++pMessageQueue_50CBD0->uNumMessages;*/ |
3803 pMessageQueue_50CBD0->AddMessage(UIMSG_Escape, 0, 0); | |
3786 continue; | 3804 continue; |
3787 } | 3805 } |
3788 if ( pUIMessageType == UIMSG_Escape ) | 3806 if ( pUIMessageType == UIMSG_Escape ) |
3789 { | 3807 { |
3790 if ( ptr_507BDC ) | 3808 if ( ptr_507BDC ) |
3811 if (GetCurrentMenuID() == MENU_CREDITSPROC) | 3829 if (GetCurrentMenuID() == MENU_CREDITSPROC) |
3812 { | 3830 { |
3813 SetCurrentMenuID(MENU_CREDITSCLOSE); | 3831 SetCurrentMenuID(MENU_CREDITSCLOSE); |
3814 continue; | 3832 continue; |
3815 } | 3833 } |
3816 if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) | 3834 /*if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) |
3817 { | 3835 { |
3818 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = (UIMessageType)5; | 3836 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = (UIMessageType)5; |
3819 //LABEL_93: | 3837 //LABEL_93: |
3820 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; | 3838 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; |
3821 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; | 3839 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; |
3822 ++pMessageQueue_50CBD0->uNumMessages; | 3840 ++pMessageQueue_50CBD0->uNumMessages; |
3823 continue; | 3841 continue; |
3824 } | 3842 }*/ |
3843 pMessageQueue_50CBD0->AddMessage(UIMSG_ChangeGameState, 0, 0); | |
3825 continue; | 3844 continue; |
3826 } | 3845 } |
3827 v16 = GetCurrentMenuID() == 8; | 3846 v16 = GetCurrentMenuID() == 8; |
3828 if ( v16 && !pCurrentScreen ) | 3847 if ( v16 && !pCurrentScreen ) |
3829 goto LABEL_83; | 3848 goto LABEL_83; |
13105 goto LABEL_24; | 13124 goto LABEL_24; |
13106 } | 13125 } |
13107 LABEL_30: | 13126 LABEL_30: |
13108 if ( byte_506360 ) | 13127 if ( byte_506360 ) |
13109 { | 13128 { |
13110 result = pMessageQueue_50CBD0->uNumMessages; | 13129 /*result = pMessageQueue_50CBD0->uNumMessages; |
13111 if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) | 13130 if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) |
13112 { | 13131 { |
13113 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = (UIMessageType)181; | 13132 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = (UIMessageType)181; |
13114 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; | 13133 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; |
13115 result = 3 * pMessageQueue_50CBD0->uNumMessages + 3; | 13134 result = 3 * pMessageQueue_50CBD0->uNumMessages + 3; |
13116 *(&pMessageQueue_50CBD0->uNumMessages + result) = 0; | 13135 *(&pMessageQueue_50CBD0->uNumMessages + result) = 0; |
13117 ++pMessageQueue_50CBD0->uNumMessages; | 13136 ++pMessageQueue_50CBD0->uNumMessages; |
13118 } | 13137 }*/ |
13138 pMessageQueue_50CBD0->AddMessage(UIMSG_B5, 0, 0); | |
13119 } | 13139 } |
13120 return result; | 13140 return result; |
13121 } | 13141 } |
13122 | 13142 |
13123 | 13143 |
14474 void __cdecl sub_41426F() | 14494 void __cdecl sub_41426F() |
14475 { | 14495 { |
14476 GUIWindow *v0; // ecx@1 | 14496 GUIWindow *v0; // ecx@1 |
14477 | 14497 |
14478 v0 = ptr_507BDC; | 14498 v0 = ptr_507BDC; |
14479 if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) | 14499 pMessageQueue_50CBD0->AddMessage((UIMessageType)(int)ptr_507BDC->ptr_1C, 0, 0); |
14500 /*if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) | |
14480 { | 14501 { |
14481 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = (UIMessageType)(int)ptr_507BDC->ptr_1C; | 14502 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = (UIMessageType)(int)ptr_507BDC->ptr_1C; |
14482 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; | 14503 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; |
14483 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; | 14504 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; |
14484 ++pMessageQueue_50CBD0->uNumMessages; | 14505 ++pMessageQueue_50CBD0->uNumMessages; |
14485 } | 14506 }*/ |
14486 v0->Release(); | 14507 v0->Release(); |
14487 ptr_507BDC = 0; | 14508 ptr_507BDC = 0; |
14488 pCurrentScreen = dword_506F0C[0]; | 14509 pCurrentScreen = dword_506F0C[0]; |
14489 pEventTimer->Resume(); | 14510 pEventTimer->Resume(); |
14490 } | 14511 } |
15089 viewparams->bRedrawGameUI = 1; | 15110 viewparams->bRedrawGameUI = 1; |
15090 if ( pHint && pHint != (char *)1 ) | 15111 if ( pHint && pHint != (char *)1 ) |
15091 pGUIButton3->DrawLabel(pHint, pFontCreate, 0, 0); | 15112 pGUIButton3->DrawLabel(pHint, pFontCreate, 0, 0); |
15092 pWindow->Release(); | 15113 pWindow->Release(); |
15093 if (pCurrentScreen == SCREEN_SAVEGAME) | 15114 if (pCurrentScreen == SCREEN_SAVEGAME) |
15094 pMessageQueue_50CBD0->SendMessage(UIMSG_SaveGame, 0, 0); | 15115 pMessageQueue_50CBD0->AddMessage(UIMSG_SaveGame, 0, 0); |
15095 else | 15116 else |
15096 pMessageQueue_50CBD0->SendMessage(UIMSG_LoadGame, 0, 0); | 15117 pMessageQueue_50CBD0->AddMessage(UIMSG_LoadGame, 0, 0); |
15097 } | 15118 } |
15098 continue; | 15119 continue; |
15099 } | 15120 } |
15100 if ( (signed int)pWindowType > 70 ) | 15121 if ( (signed int)pWindowType > 70 ) |
15101 { | 15122 { |
15111 pHint = pWindow->Hint; | 15132 pHint = pWindow->Hint; |
15112 viewparams->bRedrawGameUI = 1; | 15133 viewparams->bRedrawGameUI = 1; |
15113 if ( pHint && pHint != (char *)1 ) | 15134 if ( pHint && pHint != (char *)1 ) |
15114 pGUIButton->DrawLabel(pHint, pFontCreate, 0, 0); | 15135 pGUIButton->DrawLabel(pHint, pFontCreate, 0, 0); |
15115 pWindow->Release(); | 15136 pWindow->Release(); |
15116 if ( (signed int)pMessageQueue_50CBD0->uNumMessages >= 40 ) | 15137 /*if ( (signed int)pMessageQueue_50CBD0->uNumMessages >= 40 ) |
15117 continue; | 15138 continue; |
15118 pNumMessages = pMessageQueue_50CBD0->uNumMessages; | 15139 pNumMessages = pMessageQueue_50CBD0->uNumMessages; |
15119 //LABEL_151: | 15140 //LABEL_151: |
15120 pMessageQueue_50CBD0->pMessages[pNumMessages].eType = (UIMessageType)113; | 15141 pMessageQueue_50CBD0->pMessages[pNumMessages].eType = (UIMessageType)113; |
15121 //LABEL_152: | 15142 //LABEL_152: |
15122 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; | 15143 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; |
15123 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; | 15144 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; |
15124 ++pMessageQueue_50CBD0->uNumMessages; | 15145 ++pMessageQueue_50CBD0->uNumMessages;*/ |
15146 pMessageQueue_50CBD0->AddMessage(UIMSG_Escape, 0, 0); | |
15125 continue; | 15147 continue; |
15126 } | 15148 } |
15127 v34 = v33 - 1; | 15149 v34 = v33 - 1; |
15128 if ( v34 )//pWindowType > 97 | 15150 if ( v34 )//pWindowType > 97 |
15129 { | 15151 { |
15206 viewparams->bRedrawGameUI = 1; | 15228 viewparams->bRedrawGameUI = 1; |
15207 if ( pHint && pHint != (char *)1 ) | 15229 if ( pHint && pHint != (char *)1 ) |
15208 ((GUIButton *)v32)->DrawLabel(pHint, pFontCreate, 0, 0); | 15230 ((GUIButton *)v32)->DrawLabel(pHint, pFontCreate, 0, 0); |
15209 pWindow->Release(); | 15231 pWindow->Release(); |
15210 pNumMessages = pMessageQueue_50CBD0->uNumMessages; | 15232 pNumMessages = pMessageQueue_50CBD0->uNumMessages; |
15211 if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) | 15233 /*if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) |
15212 { | 15234 { |
15213 pMessageQueue_50CBD0->pMessages[pNumMessages].eType = (UIMessageType)113; | 15235 pMessageQueue_50CBD0->pMessages[pNumMessages].eType = (UIMessageType)113; |
15214 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; | 15236 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; |
15215 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; | 15237 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; |
15216 ++pMessageQueue_50CBD0->uNumMessages; | 15238 ++pMessageQueue_50CBD0->uNumMessages; |
15217 continue; | 15239 continue; |
15218 } | 15240 }*/ |
15241 pMessageQueue_50CBD0->AddMessage(UIMSG_Escape, 0, 0); | |
15219 continue; | 15242 continue; |
15220 } | 15243 } |
15221 | 15244 |
15222 if ( pWindowType == WINDOW_5F ) | 15245 if ( pWindowType == WINDOW_5F ) |
15223 { | 15246 { |
15231 if ( pHint && pHint != (char *)1 ) | 15254 if ( pHint && pHint != (char *)1 ) |
15232 ((GUIButton *)v32)->DrawLabel(pHint, pFontCreate, 0, 0); | 15255 ((GUIButton *)v32)->DrawLabel(pHint, pFontCreate, 0, 0); |
15233 pWindow->Release(); | 15256 pWindow->Release(); |
15234 //LABEL_142: | 15257 //LABEL_142: |
15235 pNumMessages = pMessageQueue_50CBD0->uNumMessages; | 15258 pNumMessages = pMessageQueue_50CBD0->uNumMessages; |
15236 if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) | 15259 /*if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) |
15237 //goto LABEL_151; | 15260 //goto LABEL_151; |
15238 { | 15261 { |
15239 pMessageQueue_50CBD0->pMessages[pNumMessages].eType = (UIMessageType)113; //0x71 | 15262 pMessageQueue_50CBD0->pMessages[pNumMessages].eType = (UIMessageType)113; //0x71 |
15240 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; | 15263 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; |
15241 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; | 15264 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; |
15242 ++pMessageQueue_50CBD0->uNumMessages; | 15265 ++pMessageQueue_50CBD0->uNumMessages; |
15243 continue; | 15266 continue; |
15244 } | 15267 }*/ |
15268 pMessageQueue_50CBD0->AddMessage(UIMSG_Escape, 0, 0); | |
15245 continue; | 15269 continue; |
15246 } | 15270 } |
15247 v14 = pWindowType - 80; | 15271 v14 = pWindowType - 80; |
15248 if ( v14 )//pWindowType > 80 | 15272 if ( v14 )//pWindowType > 80 |
15249 { | 15273 { |
15408 } | 15432 } |
15409 if ( ptr_507BD0->field_40 == 2 ) | 15433 if ( ptr_507BD0->field_40 == 2 ) |
15410 { | 15434 { |
15411 v29 = pMessageQueue_50CBD0->uNumMessages; | 15435 v29 = pMessageQueue_50CBD0->uNumMessages; |
15412 pWindow->field_40 = 0; | 15436 pWindow->field_40 = 0; |
15413 if ( (signed int)v29 < 40 ) | 15437 /*if ( (signed int)v29 < 40 ) |
15414 { | 15438 { |
15415 pMessageQueue_50CBD0->pMessages[v29].eType = (UIMessageType)(int)ptr_507BD0->ptr_1C; | 15439 pMessageQueue_50CBD0->pMessages[v29].eType = (UIMessageType)(int)ptr_507BD0->ptr_1C; |
15416 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; | 15440 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; |
15417 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; | 15441 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; |
15418 ++pMessageQueue_50CBD0->uNumMessages; | 15442 ++pMessageQueue_50CBD0->uNumMessages; |
15419 } | 15443 }*/ |
15444 pMessageQueue_50CBD0->AddMessage((UIMessageType)(int)ptr_507BD0->ptr_1C, 0, 0); | |
15420 pEventTimer->Resume(); | 15445 pEventTimer->Resume(); |
15421 ptr_507BD0->Release(); | 15446 ptr_507BD0->Release(); |
15422 pCurrentScreen = SCREEN_GAME; | 15447 pCurrentScreen = SCREEN_GAME; |
15423 //goto LABEL_114; | 15448 //goto LABEL_114; |
15424 viewparams->bRedrawGameUI = 1; | 15449 viewparams->bRedrawGameUI = 1; |
15536 } | 15561 } |
15537 continue; | 15562 continue; |
15538 } | 15563 } |
15539 //goto LABEL_142; | 15564 //goto LABEL_142; |
15540 pNumMessages = pMessageQueue_50CBD0->uNumMessages; | 15565 pNumMessages = pMessageQueue_50CBD0->uNumMessages; |
15541 if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) | 15566 /*if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) |
15542 { | 15567 { |
15543 pMessageQueue_50CBD0->pMessages[pNumMessages].eType = (UIMessageType)113; | 15568 pMessageQueue_50CBD0->pMessages[pNumMessages].eType = (UIMessageType)113; |
15544 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; | 15569 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; |
15545 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; | 15570 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; |
15546 ++pMessageQueue_50CBD0->uNumMessages; | 15571 ++pMessageQueue_50CBD0->uNumMessages; |
15547 continue; | 15572 continue; |
15548 } | 15573 }*/ |
15574 pMessageQueue_50CBD0->AddMessage(UIMSG_Escape, 0, 0); | |
15549 continue; | 15575 continue; |
15550 } | 15576 } |
15551 if ( pWindowType == WINDOW_SpellBook ) | 15577 if ( pWindowType == WINDOW_SpellBook ) |
15552 { | 15578 { |
15553 DrawSpellBookContent(); | 15579 DrawSpellBookContent(); |
15904 { | 15930 { |
15905 v0->RemoveItemAtInventoryIndex(v18); | 15931 v0->RemoveItemAtInventoryIndex(v18); |
15906 v26 = rand(); | 15932 v26 = rand(); |
15907 v0->ReceiveDamage(v26 % 11 + 10, 0); | 15933 v0->ReceiveDamage(v26 % 11 + 10, 0); |
15908 pAudioPlayer->PlaySound(SOUND_8, 0, 0, -1, 0, 0, 0, 0); | 15934 pAudioPlayer->PlaySound(SOUND_8, 0, 0, -1, 0, 0, 0, 0); |
15909 if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) | 15935 |
15936 pMessageQueue_50CBD0->AddMessage(UIMSG_Escape, 0, 0); | |
15937 /*if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) | |
15910 { | 15938 { |
15911 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = (UIMessageType)113; | 15939 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = (UIMessageType)113; |
15912 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; | 15940 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; |
15913 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; | 15941 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; |
15914 ++pMessageQueue_50CBD0->uNumMessages; | 15942 ++pMessageQueue_50CBD0->uNumMessages; |
15915 } | 15943 }*/ |
15916 v42 = (int *)&a2.y; | 15944 v42 = (int *)&a2.y; |
15917 v41 = (int *)&y.y; | 15945 v41 = (int *)&y.y; |
15918 v40 = (int *)&pOut; | 15946 v40 = (int *)&pOut; |
15919 v39.z = pParty->vPosition.z + pParty->sEyelevel; | 15947 v39.z = pParty->vPosition.z + pParty->sEyelevel; |
15920 } | 15948 } |
15978 v23 = 0; | 16006 v23 = 0; |
15979 } | 16007 } |
15980 } | 16008 } |
15981 v0->_4160CA(v23); | 16009 v0->_4160CA(v23); |
15982 pAudioPlayer->PlaySound(SOUND_8, 0, 0, -1, 0, 0, 0, 0); | 16010 pAudioPlayer->PlaySound(SOUND_8, 0, 0, -1, 0, 0, 0, 0); |
15983 if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) | 16011 |
16012 pMessageQueue_50CBD0->AddMessage(UIMSG_Escape, 0, 0); | |
16013 /*if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) | |
15984 { | 16014 { |
15985 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = (UIMessageType)113; | 16015 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = (UIMessageType)113; |
15986 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; | 16016 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; |
15987 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; | 16017 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; |
15988 ++pMessageQueue_50CBD0->uNumMessages; | 16018 ++pMessageQueue_50CBD0->uNumMessages; |
15989 } | 16019 }*/ |
15990 v42 = (int *)&a2.y; | 16020 v42 = (int *)&a2.y; |
15991 v41 = (int *)&y.y; | 16021 v41 = (int *)&y.y; |
15992 v40 = (int *)&pOut; | 16022 v40 = (int *)&pOut; |
15993 v39.z = pParty->vPosition.z + pParty->sEyelevel; | 16023 v39.z = pParty->vPosition.z + pParty->sEyelevel; |
15994 } | 16024 } |
16634 { | 16664 { |
16635 v10 = pMessageQueue_50CBD0->pMessages[0].field_8 != 0; | 16665 v10 = pMessageQueue_50CBD0->pMessages[0].field_8 != 0; |
16636 pMessageQueue_50CBD0->uNumMessages = pMessageQueue_50CBD0->pMessages[0].field_8 != 0; | 16666 pMessageQueue_50CBD0->uNumMessages = pMessageQueue_50CBD0->pMessages[0].field_8 != 0; |
16637 } | 16667 } |
16638 //v11 = i->uControlParam; | 16668 //v11 = i->uControlParam; |
16639 pMessageQueue_50CBD0->SendMessage((UIMessageType)i->uControlID, i->uControlParam, 0); | 16669 pMessageQueue_50CBD0->AddMessage((UIMessageType)i->uControlID, i->uControlParam, 0); |
16640 return; | 16670 return; |
16641 } | 16671 } |
16642 goto LABEL_45; | 16672 goto LABEL_45; |
16643 } | 16673 } |
16644 y = pY; | 16674 y = pY; |
16653 && uActiveCharacter | 16683 && uActiveCharacter |
16654 && v5 < 33554432 | 16684 && v5 < 33554432 |
16655 && pPlayers[uActiveCharacter]->CanAct() | 16685 && pPlayers[uActiveCharacter]->CanAct() |
16656 && pPlayers[uActiveCharacter]->CanSteal() ) | 16686 && pPlayers[uActiveCharacter]->CanSteal() ) |
16657 { | 16687 { |
16658 if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) | 16688 /*if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) |
16659 { | 16689 { |
16660 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = (UIMessageType)27; | 16690 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = (UIMessageType)27; |
16661 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = v6 >> 3; | 16691 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = v6 >> 3; |
16662 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; | 16692 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0; |
16663 ++pMessageQueue_50CBD0->uNumMessages; | 16693 ++pMessageQueue_50CBD0->uNumMessages; |
16664 } | 16694 }*/ |
16695 pMessageQueue_50CBD0->AddMessage(UIMSG_1B, v6 >> 3, 0); | |
16696 | |
16665 if ( pParty->bTurnBasedModeOn == 1 ) | 16697 if ( pParty->bTurnBasedModeOn == 1 ) |
16666 { | 16698 { |
16667 if ( pTurnEngine->field_4 == 3 ) | 16699 if ( pTurnEngine->field_4 == 3 ) |
16668 pTurnEngine->field_18 |= 8u; | 16700 pTurnEngine->field_18 |= 8u; |
16669 } | 16701 } |