Mercurial > mm7
comparison mm7_5.cpp @ 693:e0a1fccc89b1
map render fixes
author | Gloval |
---|---|
date | Sun, 17 Mar 2013 01:50:34 +0400 |
parents | 26dfde53decd |
children | 2dfb67633b01 |
comparison
equal
deleted
inserted
replaced
692:066e2b29b30f | 693:e0a1fccc89b1 |
---|---|
961 if ( pMessageQueue_50CBD0->uNumMessages ) | 961 if ( pMessageQueue_50CBD0->uNumMessages ) |
962 pMessageQueue_50CBD0->uNumMessages = pMessageQueue_50CBD0->pMessages[0].field_8 != 0; | 962 pMessageQueue_50CBD0->uNumMessages = pMessageQueue_50CBD0->pMessages[0].field_8 != 0; |
963 if ( pCurrentScreen ) | 963 if ( pCurrentScreen ) |
964 pGUIWindow_CurrentMenu->Release(); | 964 pGUIWindow_CurrentMenu->Release(); |
965 pEventTimer->Pause(); | 965 pEventTimer->Pause(); |
966 viewparams->sPartyPosX = pParty->vPosition.x; | 966 viewparams->sViewCenterX = pParty->vPosition.x; |
967 viewparams->sPartyPosZ = pParty->vPosition.y; | 967 viewparams->sViewCenterY = pParty->vPosition.y; |
968 pAudioPlayer->StopChannels(-1, -1); | 968 pAudioPlayer->StopChannels(-1, -1); |
969 pGUIWindow_CurrentMenu = GUIWindow::Create(0, 0, 640u, 480u, WINDOW_Book, uMessage, 0); | 969 pGUIWindow_CurrentMenu = GUIWindow::Create(0, 0, 640u, 480u, WINDOW_Book, uMessage, 0); |
970 pBooksWindow = GUIWindow::Create(546, 353, 0, 0, (enum WindowType)99, (int)pBtn_Maps, 0); | 970 pBooksWindow = GUIWindow::Create(546, 353, 0, 0, (enum WindowType)99, (int)pBtn_Maps, 0); |
971 continue; | 971 continue; |
972 case UIMSG_OpenCalendar: | 972 case UIMSG_OpenCalendar: |
13407 } | 13407 } |
13408 if ( v6->pLevelOfDetail0 ) | 13408 if ( v6->pLevelOfDetail0 ) |
13409 { | 13409 { |
13410 v7 = v0->lastOpenedSpellbookPage; | 13410 v7 = v0->lastOpenedSpellbookPage; |
13411 // v7 = (12 * v0->lastOpenedSpellbookPage + pSpellbookSpellIndices[v0->lastOpenedSpellbookPage][v4]); | 13411 // v7 = (12 * v0->lastOpenedSpellbookPage + pSpellbookSpellIndices[v0->lastOpenedSpellbookPage][v4]); |
13412 v19 = pViewport->uViewportY + pIconPos[v7][pSpellbookSpellIndices[v7][v4]].Ypos; | 13412 v19 = pViewport->uViewportTL_Y + pIconPos[v7][pSpellbookSpellIndices[v7][v4]].Ypos; |
13413 v17 = pViewport->uViewportX + pIconPos[v7][pSpellbookSpellIndices[v7][v4]].Xpos; | 13413 v17 = pViewport->uViewportTL_X + pIconPos[v7][pSpellbookSpellIndices[v7][v4]].Xpos; |
13414 if ( BYTE1(v6->pBits) & 2 ) | 13414 if ( BYTE1(v6->pBits) & 2 ) |
13415 pRenderer->DrawTextureTransparent(v17, v19, v6); | 13415 pRenderer->DrawTextureTransparent(v17, v19, v6); |
13416 else | 13416 else |
13417 pRenderer->DrawTextureIndexed(v17, v19, v6); | 13417 pRenderer->DrawTextureIndexed(v17, v19, v6); |
13418 pRenderer->_4A612A(pIconPos[v7][pSpellbookSpellIndices[v7][v4]].Xpos, | 13418 pRenderer->_4A612A(pIconPos[v7][pSpellbookSpellIndices[v7][v4]].Xpos, |
13432 if ( v11->pLevelOfDetail0 ) | 13432 if ( v11->pLevelOfDetail0 ) |
13433 { | 13433 { |
13434 v21 = dword_5063D8[v10]; | 13434 v21 = dword_5063D8[v10]; |
13435 v12 = v0->lastOpenedSpellbookPage; | 13435 v12 = v0->lastOpenedSpellbookPage; |
13436 // v12 = (12 * v0->lastOpenedSpellbookPage + pSpellbookSpellIndices[v0->lastOpenedSpellbookPage][v10]); | 13436 // v12 = (12 * v0->lastOpenedSpellbookPage + pSpellbookSpellIndices[v0->lastOpenedSpellbookPage][v10]); |
13437 v20 = pViewport->uViewportY + pIconPos[v12][pSpellbookSpellIndices[v12][v10]].Ypos; | 13437 v20 = pViewport->uViewportTL_Y + pIconPos[v12][pSpellbookSpellIndices[v12][v10]].Ypos; |
13438 v18 = pViewport->uViewportX + pIconPos[v12][pSpellbookSpellIndices[v12][v10]].Xpos; | 13438 v18 = pViewport->uViewportTL_X + pIconPos[v12][pSpellbookSpellIndices[v12][v10]].Xpos; |
13439 if ( BYTE1(v11->pBits) & 2 ) | 13439 if ( BYTE1(v11->pBits) & 2 ) |
13440 pRenderer->DrawTextureTransparent(v18, v20, v21); | 13440 pRenderer->DrawTextureTransparent(v18, v20, v21); |
13441 else | 13441 else |
13442 pRenderer->DrawTextureIndexed(v18, v20, v21); | 13442 pRenderer->DrawTextureIndexed(v18, v20, v21); |
13443 } | 13443 } |
13568 unsigned int v12; // [sp-8h] [bp-64h]@7 | 13568 unsigned int v12; // [sp-8h] [bp-64h]@7 |
13569 Texture *v13; // [sp-4h] [bp-60h]@3 | 13569 Texture *v13; // [sp-4h] [bp-60h]@3 |
13570 Texture *v14; // [sp-4h] [bp-60h]@7 | 13570 Texture *v14; // [sp-4h] [bp-60h]@7 |
13571 GUIWindow a1; // [sp+8h] [bp-54h]@10 | 13571 GUIWindow a1; // [sp+8h] [bp-54h]@10 |
13572 | 13572 |
13573 pRenderer->DrawTextureIndexed(pViewport->uViewportX, pViewport->uViewportY, pSpellBookPagesTextr_11); | 13573 pRenderer->DrawTextureIndexed(pViewport->uViewportTL_X, pViewport->uViewportTL_Y, pSpellBookPagesTextr_11); |
13574 if ( dword_506548 || !dword_506528 ) | 13574 if ( dword_506548 || !dword_506528 ) |
13575 { | 13575 { |
13576 v13 = pTex_tab_an_6a__zoom_off; | 13576 v13 = pTex_tab_an_6a__zoom_off; |
13577 v11 = pViewport->uViewportY + 2; | 13577 v11 = pViewport->uViewportTL_Y + 2; |
13578 v0 = pViewport->uViewportX + 407; | 13578 v0 = pViewport->uViewportTL_X + 407; |
13579 } | 13579 } |
13580 else | 13580 else |
13581 { | 13581 { |
13582 v13 = pTex_tab_an_6b__zoom_on; | 13582 v13 = pTex_tab_an_6b__zoom_on; |
13583 v11 = pViewport->uViewportY + 1; | 13583 v11 = pViewport->uViewportTL_Y + 1; |
13584 v0 = pViewport->uViewportX + 398; | 13584 v0 = pViewport->uViewportTL_X + 398; |
13585 } | 13585 } |
13586 pRenderer->DrawTextureTransparent(v0, v11, v13); | 13586 pRenderer->DrawTextureTransparent(v0, v11, v13); |
13587 if ( dword_506544 || dword_506528 + awards_count >= awards_count2 ) | 13587 if ( dword_506544 || dword_506528 + awards_count >= awards_count2 ) |
13588 { | 13588 { |
13589 v14 = pTex_tab_an_7a__zoot_off; | 13589 v14 = pTex_tab_an_7a__zoot_off; |
13590 v12 = pViewport->uViewportY + 38; | 13590 v12 = pViewport->uViewportTL_Y + 38; |
13591 v1 = pViewport->uViewportX + 407; | 13591 v1 = pViewport->uViewportTL_X + 407; |
13592 } | 13592 } |
13593 else | 13593 else |
13594 { | 13594 { |
13595 v14 = pTex_tab_an_7b__zoot_on; | 13595 v14 = pTex_tab_an_7b__zoot_on; |
13596 v12 = pViewport->uViewportY + 38; | 13596 v12 = pViewport->uViewportTL_Y + 38; |
13597 v1 = pViewport->uViewportX + 398; | 13597 v1 = pViewport->uViewportTL_X + 398; |
13598 } | 13598 } |
13599 pRenderer->DrawTextureTransparent(v1, v12, v14); | 13599 pRenderer->DrawTextureTransparent(v1, v12, v14); |
13600 if ( !byte_5C6D50[dword_506528] ) | 13600 if ( !byte_5C6D50[dword_506528] ) |
13601 { | 13601 { |
13602 v2 = achievedAwardsIndex[dword_506528]; | 13602 v2 = achievedAwardsIndex[dword_506528]; |
13674 unsigned int v9; // [sp-8h] [bp-68h]@7 | 13674 unsigned int v9; // [sp-8h] [bp-68h]@7 |
13675 Texture *v10; // [sp-4h] [bp-64h]@3 | 13675 Texture *v10; // [sp-4h] [bp-64h]@3 |
13676 Texture *v11; // [sp-4h] [bp-64h]@7 | 13676 Texture *v11; // [sp-4h] [bp-64h]@7 |
13677 GUIWindow a1; // [sp+Ch] [bp-54h]@9 | 13677 GUIWindow a1; // [sp+Ch] [bp-54h]@9 |
13678 | 13678 |
13679 pRenderer->DrawTextureIndexed(pViewport->uViewportX, pViewport->uViewportY, pTexture_CurrentBook); | 13679 pRenderer->DrawTextureIndexed(pViewport->uViewportTL_X, pViewport->uViewportTL_Y, pTexture_CurrentBook); |
13680 if ( dword_506548 || !dword_506528 ) | 13680 if ( dword_506548 || !dword_506528 ) |
13681 { | 13681 { |
13682 v10 = pTex_tab_an_6a__zoom_off; | 13682 v10 = pTex_tab_an_6a__zoom_off; |
13683 v8 = pViewport->uViewportY + 2; | 13683 v8 = pViewport->uViewportTL_Y + 2; |
13684 v0 = pViewport->uViewportX + 407; | 13684 v0 = pViewport->uViewportTL_X + 407; |
13685 } | 13685 } |
13686 else | 13686 else |
13687 { | 13687 { |
13688 v10 = pTex_tab_an_6b__zoom_on; | 13688 v10 = pTex_tab_an_6b__zoom_on; |
13689 v8 = pViewport->uViewportY + 1; | 13689 v8 = pViewport->uViewportTL_Y + 1; |
13690 v0 = pViewport->uViewportX + 398; | 13690 v0 = pViewport->uViewportTL_X + 398; |
13691 } | 13691 } |
13692 pRenderer->DrawTextureTransparent(v0, v8, v10); | 13692 pRenderer->DrawTextureTransparent(v0, v8, v10); |
13693 if ( dword_506544 || dword_506528 + awards_count >= awards_count2 ) | 13693 if ( dword_506544 || dword_506528 + awards_count >= awards_count2 ) |
13694 { | 13694 { |
13695 v11 = pTex_tab_an_7a__zoot_off; | 13695 v11 = pTex_tab_an_7a__zoot_off; |
13696 v9 = pViewport->uViewportY + 38; | 13696 v9 = pViewport->uViewportTL_Y + 38; |
13697 v1 = pViewport->uViewportX + 407; | 13697 v1 = pViewport->uViewportTL_X + 407; |
13698 } | 13698 } |
13699 else | 13699 else |
13700 { | 13700 { |
13701 v11 = pTex_tab_an_7b__zoot_on; | 13701 v11 = pTex_tab_an_7b__zoot_on; |
13702 v9 = pViewport->uViewportY + 38; | 13702 v9 = pViewport->uViewportTL_Y + 38; |
13703 v1 = pViewport->uViewportX + 398; | 13703 v1 = pViewport->uViewportTL_X + 398; |
13704 } | 13704 } |
13705 pRenderer->DrawTextureTransparent(v1, v9, v11); | 13705 pRenderer->DrawTextureTransparent(v1, v9, v11); |
13706 a1.uFrameWidth = 460; | 13706 a1.uFrameWidth = 460; |
13707 a1.uFrameHeight = 344; | 13707 a1.uFrameHeight = 344; |
13708 a1.uFrameX = 8; | 13708 a1.uFrameX = 8; |
13792 signed __int16 v31; // [sp+10h] [bp-58h]@1 | 13792 signed __int16 v31; // [sp+10h] [bp-58h]@1 |
13793 char *v32; // [sp+10h] [bp-58h]@49 | 13793 char *v32; // [sp+10h] [bp-58h]@49 |
13794 GUIWindow a1; // [sp+14h] [bp-54h]@46 | 13794 GUIWindow a1; // [sp+14h] [bp-54h]@46 |
13795 | 13795 |
13796 v31 = 0; | 13796 v31 = 0; |
13797 pRenderer->DrawTextureIndexed(pViewport->uViewportX, pViewport->uViewportY, pTexture_AutonotesBook); | 13797 pRenderer->DrawTextureIndexed(pViewport->uViewportTL_X, pViewport->uViewportTL_Y, pTexture_AutonotesBook); |
13798 if ( dword_506548 || !dword_506528 ) | 13798 if ( dword_506548 || !dword_506528 ) |
13799 { | 13799 { |
13800 v24 = pTex_tab_an_6a__zoom_off; | 13800 v24 = pTex_tab_an_6a__zoom_off; |
13801 v17 = pViewport->uViewportY + 2; | 13801 v17 = pViewport->uViewportTL_Y + 2; |
13802 v0 = pViewport->uViewportX + 407; | 13802 v0 = pViewport->uViewportTL_X + 407; |
13803 } | 13803 } |
13804 else | 13804 else |
13805 { | 13805 { |
13806 v24 = pTex_tab_an_6b__zoom_on; | 13806 v24 = pTex_tab_an_6b__zoom_on; |
13807 v17 = pViewport->uViewportY + 1; | 13807 v17 = pViewport->uViewportTL_Y + 1; |
13808 v0 = pViewport->uViewportX + 398; | 13808 v0 = pViewport->uViewportTL_X + 398; |
13809 } | 13809 } |
13810 pRenderer->DrawTextureTransparent(v0, v17, v24); | 13810 pRenderer->DrawTextureTransparent(v0, v17, v24); |
13811 if ( dword_506544 || dword_506528 + awards_count >= awards_count2 ) | 13811 if ( dword_506544 || dword_506528 + awards_count >= awards_count2 ) |
13812 { | 13812 { |
13813 v25 = pTex_tab_an_7a__zoot_off; | 13813 v25 = pTex_tab_an_7a__zoot_off; |
13814 v18 = pViewport->uViewportY + 38; | 13814 v18 = pViewport->uViewportTL_Y + 38; |
13815 v1 = pViewport->uViewportX + 407; | 13815 v1 = pViewport->uViewportTL_X + 407; |
13816 } | 13816 } |
13817 else | 13817 else |
13818 { | 13818 { |
13819 v25 = pTex_tab_an_7b__zoot_on; | 13819 v25 = pTex_tab_an_7b__zoot_on; |
13820 v18 = pViewport->uViewportY + 38; | 13820 v18 = pViewport->uViewportTL_Y + 38; |
13821 v1 = pViewport->uViewportX + 398; | 13821 v1 = pViewport->uViewportTL_X + 398; |
13822 } | 13822 } |
13823 pRenderer->DrawTextureTransparent(v1, v18, v25); | 13823 pRenderer->DrawTextureTransparent(v1, v18, v25); |
13824 if ( !dword_506540 ) | 13824 if ( !dword_506540 ) |
13825 { | 13825 { |
13826 if ( dword_506568 ) | 13826 if ( dword_506568 ) |
13827 { | 13827 { |
13828 pRenderer->DrawTextureTransparent( | 13828 pRenderer->DrawTextureTransparent( |
13829 pViewport->uViewportX + 408, | 13829 pViewport->uViewportTL_X + 408, |
13830 pViewport->uViewportY + 113, | 13830 pViewport->uViewportTL_Y + 113, |
13831 pTexture_506390); | 13831 pTexture_506390); |
13832 v2 = 1; | 13832 v2 = 1; |
13833 goto LABEL_16; | 13833 goto LABEL_16; |
13834 } | 13834 } |
13835 goto LABEL_14; | 13835 goto LABEL_14; |
13843 v2 = 1; | 13843 v2 = 1; |
13844 v31 = 1; | 13844 v31 = 1; |
13845 pAudioPlayer->PlaySound(SOUND_Button2, 0, 0, -1, 0, 0, 0, 0); | 13845 pAudioPlayer->PlaySound(SOUND_Button2, 0, 0, -1, 0, 0, 0, 0); |
13846 LABEL_15: | 13846 LABEL_15: |
13847 dword_506568 = 0; | 13847 dword_506568 = 0; |
13848 pRenderer->DrawTextureTransparent(pViewport->uViewportX + 398, pViewport->uViewportY + 113, pTexture_506394); | 13848 pRenderer->DrawTextureTransparent(pViewport->uViewportTL_X + 398, pViewport->uViewportTL_Y + 113, pTexture_506394); |
13849 LABEL_16: | 13849 LABEL_16: |
13850 if ( dword_50653C ) | 13850 if ( dword_50653C ) |
13851 { | 13851 { |
13852 if ( dword_506568 != v2 ) | 13852 if ( dword_506568 != v2 ) |
13853 { | 13853 { |
13858 else | 13858 else |
13859 { | 13859 { |
13860 if ( dword_506568 != v2 ) | 13860 if ( dword_506568 != v2 ) |
13861 { | 13861 { |
13862 v26 = pTexture_506388; | 13862 v26 = pTexture_506388; |
13863 v19 = pViewport->uViewportY + 150; | 13863 v19 = pViewport->uViewportTL_Y + 150; |
13864 v3 = pViewport->uViewportX + 408; | 13864 v3 = pViewport->uViewportTL_X + 408; |
13865 goto LABEL_22; | 13865 goto LABEL_22; |
13866 } | 13866 } |
13867 } | 13867 } |
13868 v26 = pTexture_50638C; | 13868 v26 = pTexture_50638C; |
13869 dword_506568 = v2; | 13869 dword_506568 = v2; |
13870 v19 = pViewport->uViewportY + 150; | 13870 v19 = pViewport->uViewportTL_Y + 150; |
13871 v3 = pViewport->uViewportX + 399; | 13871 v3 = pViewport->uViewportTL_X + 399; |
13872 LABEL_22: | 13872 LABEL_22: |
13873 pRenderer->DrawTextureTransparent(v3, v19, v26); | 13873 pRenderer->DrawTextureTransparent(v3, v19, v26); |
13874 if ( dword_506538 ) | 13874 if ( dword_506538 ) |
13875 { | 13875 { |
13876 if ( dword_506568 != 2 ) | 13876 if ( dword_506568 != 2 ) |
13882 else | 13882 else |
13883 { | 13883 { |
13884 if ( dword_506568 != 2 ) | 13884 if ( dword_506568 != 2 ) |
13885 { | 13885 { |
13886 v27 = pTexture_506380; | 13886 v27 = pTexture_506380; |
13887 v20 = pViewport->uViewportY + 188; | 13887 v20 = pViewport->uViewportTL_Y + 188; |
13888 v4 = pViewport->uViewportX + 408; | 13888 v4 = pViewport->uViewportTL_X + 408; |
13889 goto LABEL_28; | 13889 goto LABEL_28; |
13890 } | 13890 } |
13891 } | 13891 } |
13892 v27 = pTexture_506384; | 13892 v27 = pTexture_506384; |
13893 dword_506568 = 2; | 13893 dword_506568 = 2; |
13894 v20 = pViewport->uViewportY + 188; | 13894 v20 = pViewport->uViewportTL_Y + 188; |
13895 v4 = pViewport->uViewportX + 397; | 13895 v4 = pViewport->uViewportTL_X + 397; |
13896 LABEL_28: | 13896 LABEL_28: |
13897 pRenderer->DrawTextureTransparent(v4, v20, v27); | 13897 pRenderer->DrawTextureTransparent(v4, v20, v27); |
13898 if ( dword_506534 ) | 13898 if ( dword_506534 ) |
13899 { | 13899 { |
13900 if ( dword_506568 != 3 ) | 13900 if ( dword_506568 != 3 ) |
13906 else | 13906 else |
13907 { | 13907 { |
13908 if ( dword_506568 != 3 ) | 13908 if ( dword_506568 != 3 ) |
13909 { | 13909 { |
13910 v28 = pTexture_506378; | 13910 v28 = pTexture_506378; |
13911 v21 = pViewport->uViewportY + 226; | 13911 v21 = pViewport->uViewportTL_Y + 226; |
13912 v5 = pViewport->uViewportX + 408; | 13912 v5 = pViewport->uViewportTL_X + 408; |
13913 goto LABEL_34; | 13913 goto LABEL_34; |
13914 } | 13914 } |
13915 } | 13915 } |
13916 v28 = pTexture_50637C; | 13916 v28 = pTexture_50637C; |
13917 dword_506568 = 3; | 13917 dword_506568 = 3; |
13918 v21 = pViewport->uViewportY + 226; | 13918 v21 = pViewport->uViewportTL_Y + 226; |
13919 v5 = pViewport->uViewportX + 397; | 13919 v5 = pViewport->uViewportTL_X + 397; |
13920 LABEL_34: | 13920 LABEL_34: |
13921 pRenderer->DrawTextureTransparent(v5, v21, v28); | 13921 pRenderer->DrawTextureTransparent(v5, v21, v28); |
13922 if ( dword_506530 ) | 13922 if ( dword_506530 ) |
13923 { | 13923 { |
13924 if ( dword_506568 != 4 ) | 13924 if ( dword_506568 != 4 ) |
13930 else | 13930 else |
13931 { | 13931 { |
13932 if ( dword_506568 != 4 ) | 13932 if ( dword_506568 != 4 ) |
13933 { | 13933 { |
13934 v29 = pTexture_506370; | 13934 v29 = pTexture_506370; |
13935 v22 = pViewport->uViewportY + 263; | 13935 v22 = pViewport->uViewportTL_Y + 263; |
13936 v6 = pViewport->uViewportX + 408; | 13936 v6 = pViewport->uViewportTL_X + 408; |
13937 goto LABEL_40; | 13937 goto LABEL_40; |
13938 } | 13938 } |
13939 } | 13939 } |
13940 v29 = pTexture_506374; | 13940 v29 = pTexture_506374; |
13941 dword_506568 = 4; | 13941 dword_506568 = 4; |
13942 v22 = pViewport->uViewportY + 264; | 13942 v22 = pViewport->uViewportTL_Y + 264; |
13943 v6 = pViewport->uViewportX + 397; | 13943 v6 = pViewport->uViewportTL_X + 397; |
13944 LABEL_40: | 13944 LABEL_40: |
13945 pRenderer->DrawTextureTransparent(v6, v22, v29); | 13945 pRenderer->DrawTextureTransparent(v6, v22, v29); |
13946 if ( dword_50652C ) | 13946 if ( dword_50652C ) |
13947 { | 13947 { |
13948 if ( dword_506568 != 5 ) | 13948 if ( dword_506568 != 5 ) |
13954 else | 13954 else |
13955 { | 13955 { |
13956 if ( dword_506568 != 5 ) | 13956 if ( dword_506568 != 5 ) |
13957 { | 13957 { |
13958 v30 = pTexture_506368; | 13958 v30 = pTexture_506368; |
13959 v23 = pViewport->uViewportY + 302; | 13959 v23 = pViewport->uViewportTL_Y + 302; |
13960 v7 = pViewport->uViewportX + 408; | 13960 v7 = pViewport->uViewportTL_X + 408; |
13961 goto LABEL_46; | 13961 goto LABEL_46; |
13962 } | 13962 } |
13963 } | 13963 } |
13964 v30 = pTexture_50636C; | 13964 v30 = pTexture_50636C; |
13965 dword_506568 = 5; | 13965 dword_506568 = 5; |
13966 v23 = pViewport->uViewportY + 302; | 13966 v23 = pViewport->uViewportTL_Y + 302; |
13967 v7 = pViewport->uViewportX + 397; | 13967 v7 = pViewport->uViewportTL_X + 397; |
13968 LABEL_46: | 13968 LABEL_46: |
13969 pRenderer->DrawTextureTransparent(v7, v23, v30); | 13969 pRenderer->DrawTextureTransparent(v7, v23, v30); |
13970 a1.uFrameWidth = 460; | 13970 a1.uFrameWidth = 460; |
13971 a1.uFrameHeight = 344; | 13971 a1.uFrameHeight = 344; |
13972 a1.uFrameX = 8; | 13972 a1.uFrameX = 8; |
14071 Texture *buttnTxtr; // [sp-4h] [bp-DCh]@3 | 14071 Texture *buttnTxtr; // [sp-4h] [bp-DCh]@3 |
14072 char party_coord[120]; // [sp+Ch] [bp-CCh]@37 | 14072 char party_coord[120]; // [sp+Ch] [bp-CCh]@37 |
14073 GUIWindow map_window; // [sp+84h] [bp-54h]@35 | 14073 GUIWindow map_window; // [sp+84h] [bp-54h]@35 |
14074 unsigned int textrX, textrY; | 14074 unsigned int textrX, textrY; |
14075 | 14075 |
14076 pRenderer->DrawTextureIndexed(pViewport->uViewportX, pViewport->uViewportY, pSpellBookPagesTextr_12); | 14076 pRenderer->DrawTextureIndexed(pViewport->uViewportTL_X, pViewport->uViewportTL_Y, pSpellBookPagesTextr_12); |
14077 if ( dword_506548 || viewparams->field_2C / 128 >= 12 ) | 14077 if ( dword_506548 || viewparams->field_2C / 128 >= 12 ) |
14078 { | 14078 { |
14079 buttnTxtr = pTex_tab_an_6a__zoom_off; | 14079 buttnTxtr = pTex_tab_an_6a__zoom_off; |
14080 textrY = pViewport->uViewportY + 2; | 14080 textrY = pViewport->uViewportTL_Y + 2; |
14081 textrX = pViewport->uViewportX + 408; | 14081 textrX = pViewport->uViewportTL_X + 408; |
14082 } | 14082 } |
14083 else | 14083 else |
14084 { | 14084 { |
14085 buttnTxtr = pTex_tab_an_6b__zoom_on; | 14085 buttnTxtr = pTex_tab_an_6b__zoom_on; |
14086 textrY = pViewport->uViewportY + 1; | 14086 textrY = pViewport->uViewportTL_Y + 1; |
14087 textrX = pViewport->uViewportX + 398; | 14087 textrX = pViewport->uViewportTL_X + 398; |
14088 } | 14088 } |
14089 pRenderer->DrawTextureTransparent(textrX, textrY, buttnTxtr); | 14089 pRenderer->DrawTextureTransparent(textrX, textrY, buttnTxtr); |
14090 if ( dword_506544 || viewparams->field_2C / 128 <= 3 ) | 14090 if ( dword_506544 || viewparams->field_2C / 128 <= 3 ) |
14091 { | 14091 { |
14092 buttnTxtr = pTex_tab_an_7a__zoot_off; | 14092 buttnTxtr = pTex_tab_an_7a__zoot_off; |
14093 textrY = pViewport->uViewportY + 38; | 14093 textrY = pViewport->uViewportTL_Y + 38; |
14094 textrX = pViewport->uViewportX + 408; | 14094 textrX = pViewport->uViewportTL_X + 408; |
14095 } | 14095 } |
14096 else | 14096 else |
14097 { | 14097 { |
14098 buttnTxtr = pTex_tab_an_7b__zoot_on; | 14098 buttnTxtr = pTex_tab_an_7b__zoot_on; |
14099 textrY = pViewport->uViewportY + 38; | 14099 textrY = pViewport->uViewportTL_Y + 38; |
14100 textrX = pViewport->uViewportX + 398; | 14100 textrX = pViewport->uViewportTL_X + 398; |
14101 } | 14101 } |
14102 pRenderer->DrawTextureTransparent(textrX, textrY, buttnTxtr); | 14102 pRenderer->DrawTextureTransparent(textrX, textrY, buttnTxtr); |
14103 if ( dword_506540 ) | 14103 if ( dword_506540 ) |
14104 { | 14104 { |
14105 buttnTxtr = pTexture_506390; | 14105 buttnTxtr = pTexture_506390; |
14106 textrY = pViewport->uViewportY + 113; | 14106 textrY = pViewport->uViewportTL_Y + 113; |
14107 textrX = pViewport->uViewportX + 408; | 14107 textrX = pViewport->uViewportTL_X + 408; |
14108 } | 14108 } |
14109 else | 14109 else |
14110 { | 14110 { |
14111 buttnTxtr = pTexture_506394; | 14111 buttnTxtr = pTexture_506394; |
14112 textrY = pViewport->uViewportY + 113; | 14112 textrY = pViewport->uViewportTL_Y + 113; |
14113 textrX = pViewport->uViewportX + 398; | 14113 textrX = pViewport->uViewportTL_X + 398; |
14114 } | 14114 } |
14115 pRenderer->DrawTextureTransparent(textrX, textrY, buttnTxtr); | 14115 pRenderer->DrawTextureTransparent(textrX, textrY, buttnTxtr); |
14116 if ( dword_50653C ) | 14116 if ( dword_50653C ) |
14117 { | 14117 { |
14118 buttnTxtr = pTexture_506388; | 14118 buttnTxtr = pTexture_506388; |
14119 textrY = pViewport->uViewportX + 150; | 14119 textrY = pViewport->uViewportTL_X + 150; |
14120 textrX = pViewport->uViewportY + 408; | 14120 textrX = pViewport->uViewportTL_Y + 408; |
14121 } | 14121 } |
14122 else | 14122 else |
14123 { | 14123 { |
14124 buttnTxtr = pTexture_50638C; | 14124 buttnTxtr = pTexture_50638C; |
14125 textrY = pViewport->uViewportX + 150; | 14125 textrY = pViewport->uViewportTL_X + 150; |
14126 textrX = pViewport->uViewportY + 399; | 14126 textrX = pViewport->uViewportTL_Y + 399; |
14127 } | 14127 } |
14128 pRenderer->DrawTextureTransparent(textrX, textrY, buttnTxtr); | 14128 pRenderer->DrawTextureTransparent(textrX, textrY, buttnTxtr); |
14129 if ( dword_506538 ) | 14129 if ( dword_506538 ) |
14130 { | 14130 { |
14131 buttnTxtr = pTexture_506380; | 14131 buttnTxtr = pTexture_506380; |
14132 textrY = pViewport->uViewportY + 188; | 14132 textrY = pViewport->uViewportTL_Y + 188; |
14133 textrX = pViewport->uViewportX + 408; | 14133 textrX = pViewport->uViewportTL_X + 408; |
14134 } | 14134 } |
14135 else | 14135 else |
14136 { | 14136 { |
14137 buttnTxtr = pTexture_506384; | 14137 buttnTxtr = pTexture_506384; |
14138 textrY = pViewport->uViewportY + 188; | 14138 textrY = pViewport->uViewportTL_Y + 188; |
14139 textrX = pViewport->uViewportX + 397; | 14139 textrX = pViewport->uViewportTL_X + 397; |
14140 } | 14140 } |
14141 pRenderer->DrawTextureTransparent(textrX, textrY, buttnTxtr); | 14141 pRenderer->DrawTextureTransparent(textrX, textrY, buttnTxtr); |
14142 if ( dword_506534 ) | 14142 if ( dword_506534 ) |
14143 { | 14143 { |
14144 buttnTxtr = pTexture_506378; | 14144 buttnTxtr = pTexture_506378; |
14145 textrY = pViewport->uViewportY + 226; | 14145 textrY = pViewport->uViewportTL_Y + 226; |
14146 textrX = pViewport->uViewportX + 408; | 14146 textrX = pViewport->uViewportTL_X + 408; |
14147 } | 14147 } |
14148 else | 14148 else |
14149 { | 14149 { |
14150 buttnTxtr = pTexture_50637C; | 14150 buttnTxtr = pTexture_50637C; |
14151 textrY = pViewport->uViewportY + 226; | 14151 textrY = pViewport->uViewportTL_Y + 226; |
14152 textrX = pViewport->uViewportX + 397; | 14152 textrX = pViewport->uViewportTL_X + 397; |
14153 } | 14153 } |
14154 pRenderer->DrawTextureTransparent(textrX, textrY, buttnTxtr); | 14154 pRenderer->DrawTextureTransparent(textrX, textrY, buttnTxtr); |
14155 if ( dword_506544 ) | 14155 if ( dword_506544 ) |
14156 viewparams->_443291(); | 14156 viewparams->CenterOnParty2(); |
14157 if ( dword_506548 ) | 14157 if ( dword_506548 ) |
14158 viewparams->_443249(); | 14158 viewparams->CenterOnParty(); |
14159 if ( dword_506540 ) | 14159 if ( dword_506540 ) |
14160 viewparams->_443219(); | 14160 viewparams->_443219(); |
14161 if ( dword_50653C ) | 14161 if ( dword_50653C ) |
14162 viewparams->_443231(); | 14162 viewparams->_443231(); |
14163 if ( dword_506538 ) | 14163 if ( dword_506538 ) |
14251 int a5; // [sp+68h] [bp-4h]@1 | 14251 int a5; // [sp+68h] [bp-4h]@1 |
14252 | 14252 |
14253 v0 = pParty->uCurrentHour; | 14253 v0 = pParty->uCurrentHour; |
14254 v6 = pMapStats->GetMapInfo(pCurrentMapName); | 14254 v6 = pMapStats->GetMapInfo(pCurrentMapName); |
14255 a5 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0x4Bu, 0x4Bu, 0x4Bu); | 14255 a5 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0x4Bu, 0x4Bu, 0x4Bu); |
14256 pRenderer->DrawTextureIndexed(pViewport->uViewportX, pViewport->uViewportY, pSpellBookPagesTextr_13); | 14256 pRenderer->DrawTextureIndexed(pViewport->uViewportTL_X, pViewport->uViewportTL_Y, pSpellBookPagesTextr_13); |
14257 v7 = (unsigned __int8)pDayMoonPhase[pParty->uDaysPlayed]; | 14257 v7 = (unsigned __int8)pDayMoonPhase[pParty->uDaysPlayed]; |
14258 if ( (signed int)v0 <= 12 ) | 14258 if ( (signed int)v0 <= 12 ) |
14259 { | 14259 { |
14260 if ( !v0 ) | 14260 if ( !v0 ) |
14261 v0 = 12; | 14261 v0 = 12; |
15051 break; | 15051 break; |
15052 } | 15052 } |
15053 case WINDOW_3: | 15053 case WINDOW_3: |
15054 { | 15054 { |
15055 pTexture = (Texture *)(uTextureID_Options != -1 ? &pIcons_LOD->pTextures[uTextureID_Options] : 0);//pWindowType == 3 (0x3) | 15055 pTexture = (Texture *)(uTextureID_Options != -1 ? &pIcons_LOD->pTextures[uTextureID_Options] : 0);//pWindowType == 3 (0x3) |
15056 pY = pViewport->uViewportY; | 15056 pY = pViewport->uViewportTL_Y; |
15057 pX = pViewport->uViewportX; | 15057 pX = pViewport->uViewportTL_X; |
15058 pRenderer->DrawTextureIndexed(pX, pY, pTexture); | 15058 pRenderer->DrawTextureIndexed(pX, pY, pTexture); |
15059 viewparams->bRedrawGameUI = 1; | 15059 viewparams->bRedrawGameUI = 1; |
15060 break; | 15060 break; |
15061 } | 15061 } |
15062 case WINDOW_CharacterRecord: | 15062 case WINDOW_CharacterRecord: |
15957 case SCREEN_GAME: | 15957 case SCREEN_GAME: |
15958 { | 15958 { |
15959 if (GetCurrentMenuID() > 0) | 15959 if (GetCurrentMenuID() > 0) |
15960 break; | 15960 break; |
15961 | 15961 |
15962 if ( (signed int)pY > (signed int)pViewport->uViewportW ) | 15962 if ( (signed int)pY > (signed int)pViewport->uViewportBR_Y ) |
15963 { | 15963 { |
15964 pWindow.ptr_1C = (void *)((signed int)pX / 118); | 15964 pWindow.ptr_1C = (void *)((signed int)pX / 118); |
15965 if ( (signed int)pX / 118 < 4 ) | 15965 if ( (signed int)pX / 118 < 4 ) |
15966 { | 15966 { |
15967 pWindow.Hint = 0; | 15967 pWindow.Hint = 0; |
15971 pWindow.uFrameY = 60; | 15971 pWindow.uFrameY = 60; |
15972 pAudioPlayer->StopChannels(-1, -1); | 15972 pAudioPlayer->StopChannels(-1, -1); |
15973 pWindow.DrawQuickCharRecord(); | 15973 pWindow.DrawQuickCharRecord(); |
15974 } | 15974 } |
15975 } | 15975 } |
15976 else if ( (signed int)pX > (signed int)pViewport->uViewportZ ) | 15976 else if ( (signed int)pX > (signed int)pViewport->uViewportBR_X ) |
15977 { | 15977 { |
15978 if ( (signed int)pY >= 130 ) | 15978 if ( (signed int)pY >= 130 ) |
15979 { | 15979 { |
15980 if ( (signed int)pX >= 476 && (signed int)pX <= 636 && (signed int)pY >= 240 && (signed int)pY <= 300 ) | 15980 if ( (signed int)pX >= 476 && (signed int)pX <= 636 && (signed int)pY >= 240 && (signed int)pY <= 300 ) |
15981 { | 15981 { |
16059 break; | 16059 break; |
16060 } | 16060 } |
16061 case SCREEN_BOOKS: | 16061 case SCREEN_BOOKS: |
16062 { | 16062 { |
16063 if ( !dword_506364 | 16063 if ( !dword_506364 |
16064 || (signed int)pX < (signed int)pViewport->uViewportX | 16064 || (signed int)pX < (signed int)pViewport->uViewportTL_X |
16065 || (signed int)pX > (signed int)pViewport->uViewportZ | 16065 || (signed int)pX > (signed int)pViewport->uViewportBR_X |
16066 || (signed int)pY < (signed int)pViewport->uViewportY | 16066 || (signed int)pY < (signed int)pViewport->uViewportTL_Y |
16067 || (signed int)pY > (signed int)pViewport->uViewportW | 16067 || (signed int)pY > (signed int)pViewport->uViewportBR_Y |
16068 || (v2 = (char *)sub_444564(), (pWindow.Hint = v2) == 0) ) | 16068 || (v2 = (char *)sub_444564(), (pWindow.Hint = v2) == 0) ) |
16069 break; | 16069 break; |
16070 v30 = (double)(pFontArrus->GetLineWidth(v2) + 32); | 16070 v30 = (double)(pFontArrus->GetLineWidth(v2) + 32); |
16071 v27 = v30 + 6.7553994e15; | 16071 v27 = v30 + 6.7553994e15; |
16072 v29 = (char *)LODWORD(v27); | 16072 v29 = (char *)LODWORD(v27); |
16253 if ( pCurrentScreen != SCREEN_GAME || !dword_507B98_ctrl_pressed ) | 16253 if ( pCurrentScreen != SCREEN_GAME || !dword_507B98_ctrl_pressed ) |
16254 goto LABEL_30; | 16254 goto LABEL_30; |
16255 v4 = GetCurrentMenuID(); | 16255 v4 = GetCurrentMenuID(); |
16256 x = pX; | 16256 x = pX; |
16257 if ( (v4 & 0x80000000u) == 0 | 16257 if ( (v4 & 0x80000000u) == 0 |
16258 || (signed int)pX < (signed int)pViewport->uViewportX | 16258 || (signed int)pX < (signed int)pViewport->uViewportTL_X |
16259 || (signed int)pX > (signed int)pViewport->uViewportZ ) | 16259 || (signed int)pX > (signed int)pViewport->uViewportBR_X ) |
16260 { | 16260 { |
16261 y = pY; | 16261 y = pY; |
16262 LABEL_30: | 16262 LABEL_30: |
16263 v7 = uNumVisibleWindows; | 16263 v7 = uNumVisibleWindows; |
16264 if ( uNumVisibleWindows < 0 ) | 16264 if ( uNumVisibleWindows < 0 ) |
16309 return; | 16309 return; |
16310 } | 16310 } |
16311 goto LABEL_45; | 16311 goto LABEL_45; |
16312 } | 16312 } |
16313 y = pY; | 16313 y = pY; |
16314 if ( (signed int)pY < (signed int)pViewport->uViewportY || (signed int)pY > (signed int)pViewport->uViewportW ) | 16314 if ( (signed int)pY < (signed int)pViewport->uViewportTL_Y || (signed int)pY > (signed int)pViewport->uViewportBR_Y ) |
16315 goto LABEL_30; | 16315 goto LABEL_30; |
16316 if ( pRenderer->pRenderD3D ) | 16316 if ( pRenderer->pRenderD3D ) |
16317 v5 = pGame->pVisInstance->get_picked_object_zbuf_val(); | 16317 v5 = pGame->pVisInstance->get_picked_object_zbuf_val(); |
16318 else | 16318 else |
16319 v5 = pRenderer->pActiveZBuffer[pX + pSRZBufferLineOffsets[pY]]; | 16319 v5 = pRenderer->pActiveZBuffer[pX + pSRZBufferLineOffsets[pY]]; |