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]];