Mercurial > might-and-magic-trilogy
comparison mm7_4.cpp @ 59:5159d2e6f559
BLV render
author | Nomad |
---|---|
date | Fri, 26 Oct 2012 02:38:26 +0200 |
parents | 41cbaabde2cb |
children | 30ec77bbd018 |
comparison
equal
deleted
inserted
replaced
58:41cbaabde2cb | 59:5159d2e6f559 |
---|---|
592 while ( 1 ) | 592 while ( 1 ) |
593 { | 593 { |
594 v11 = &v10->pFaces[v39]; | 594 v11 = &v10->pFaces[v39]; |
595 v12 = v11->uPolygonType; | 595 v12 = v11->uPolygonType; |
596 if ( (v12 == 3 || v12 == 4) | 596 if ( (v12 == 3 || v12 == 4) |
597 && !(BYTE3(v11->uFaceAttributes) & 0x20) | 597 && !(v11->uAttributes & 0x20000000) |
598 && v8 <= v11->pBoundingBox.x2 | 598 && v8 <= v11->pBoundingBox.x2 |
599 && v8 >= v11->pBoundingBox.x1 | 599 && v8 >= v11->pBoundingBox.x1 |
600 && v7 <= v11->pBoundingBox.y2 | 600 && v7 <= v11->pBoundingBox.y2 |
601 && v7 >= v11->pBoundingBox.y1 ) | 601 && v7 >= v11->pBoundingBox.y1 ) |
602 { | 602 { |
740 LABEL_56: | 740 LABEL_56: |
741 if ( v27 ) | 741 if ( v27 ) |
742 { | 742 { |
743 v32 = &pOutdoor->pBModels[dword_721160[v27]].pFaces[dword_721110[v27]]; | 743 v32 = &pOutdoor->pBModels[dword_721160[v27]].pFaces[dword_721110[v27]]; |
744 *a5 = 0; | 744 *a5 = 0; |
745 if ( v32->uFaceAttributes & 0x10 ) | 745 if ( v32->uAttributes & 0x10 ) |
746 *a5 = 1; | 746 *a5 = 1; |
747 } | 747 } |
748 v33 = dword_7211B0[v27]; | 748 v33 = dword_7211B0[v27]; |
749 result = dword_7211B0[0]; | 749 result = dword_7211B0[0]; |
750 if ( v33 >= dword_7211B0[0] ) | 750 if ( v33 >= dword_7211B0[0] ) |
823 while ( 1 ) | 823 while ( 1 ) |
824 { | 824 { |
825 v7 = (ODMFace *)((char *)v6->pFaces + v30); | 825 v7 = (ODMFace *)((char *)v6->pFaces + v30); |
826 v8 = v7->uPolygonType; | 826 v8 = v7->uPolygonType; |
827 if ( (v8 == 5 || v8 == 6) | 827 if ( (v8 == 5 || v8 == 6) |
828 && !(BYTE3(v7->uFaceAttributes) & 0x20) | 828 && !(BYTE3(v7->uAttributes) & 0x20) |
829 && v4 <= v7->pBoundingBox.x2 | 829 && v4 <= v7->pBoundingBox.x2 |
830 && v4 >= v7->pBoundingBox.x1 | 830 && v4 >= v7->pBoundingBox.x1 |
831 && v40 <= v7->pBoundingBox.y2 | 831 && v40 <= v7->pBoundingBox.y2 |
832 && v40 >= v7->pBoundingBox.y1 ) | 832 && v40 >= v7->pBoundingBox.y1 ) |
833 { | 833 { |
5883 pGUIWindow_CurrentMenu = GUIWindow::Create(0, 0, 640, 480, WINDOW_MainMenu, 0, 0); | 5883 pGUIWindow_CurrentMenu = GUIWindow::Create(0, 0, 640, 480, WINDOW_MainMenu, 0, 0); |
5884 uControlParama = 0; | 5884 uControlParama = 0; |
5885 uXa = 8; | 5885 uXa = 8; |
5886 do | 5886 do |
5887 { | 5887 { |
5888 pGUIWindow_CurrentMenu->CreateButton(uXa, 120u, 145u, 25u, 1, 0, 0x3Cu, uControlParama, 0, nullstring, 0); | 5888 pGUIWindow_CurrentMenu->CreateButton(uXa, 120u, 145u, 25u, 1, 0, 0x3Cu, uControlParama, 0, "", 0); |
5889 uXa += 158; | 5889 uXa += 158; |
5890 ++uControlParama; | 5890 ++uControlParama; |
5891 } | 5891 } |
5892 while ( (signed int)uXa < 640 ); | 5892 while ( (signed int)uXa < 640 ); |
5893 pCreationUI_BtnPressLeft[0] = pGUIWindow_CurrentMenu->CreateButton( | 5893 pCreationUI_BtnPressLeft[0] = pGUIWindow_CurrentMenu->CreateButton( |
5898 1, | 5898 1, |
5899 0, | 5899 0, |
5900 0xABu, | 5900 0xABu, |
5901 0, | 5901 0, |
5902 0, | 5902 0, |
5903 nullstring, | 5903 "", |
5904 pTexture_presleft, | 5904 pTexture_presleft, |
5905 0); | 5905 0); |
5906 pCreationUI_BtnPressLeft[1] = pGUIWindow_CurrentMenu->CreateButton( | 5906 pCreationUI_BtnPressLeft[1] = pGUIWindow_CurrentMenu->CreateButton( |
5907 169u, | 5907 169u, |
5908 32u, | 5908 32u, |
5911 1, | 5911 1, |
5912 0, | 5912 0, |
5913 0xABu, | 5913 0xABu, |
5914 1u, | 5914 1u, |
5915 0, | 5915 0, |
5916 nullstring, | 5916 "", |
5917 pTexture_presleft, | 5917 pTexture_presleft, |
5918 0); | 5918 0); |
5919 pCreationUI_BtnPressLeft[2] = pGUIWindow_CurrentMenu->CreateButton( | 5919 pCreationUI_BtnPressLeft[2] = pGUIWindow_CurrentMenu->CreateButton( |
5920 327u, | 5920 327u, |
5921 32u, | 5921 32u, |
5924 1, | 5924 1, |
5925 0, | 5925 0, |
5926 0xABu, | 5926 0xABu, |
5927 2u, | 5927 2u, |
5928 0, | 5928 0, |
5929 nullstring, | 5929 "", |
5930 pTexture_presleft, | 5930 pTexture_presleft, |
5931 0); | 5931 0); |
5932 pCreationUI_BtnPressLeft[3] = pGUIWindow_CurrentMenu->CreateButton( | 5932 pCreationUI_BtnPressLeft[3] = pGUIWindow_CurrentMenu->CreateButton( |
5933 486u, | 5933 486u, |
5934 32u, | 5934 32u, |
5937 1, | 5937 1, |
5938 0, | 5938 0, |
5939 0xABu, | 5939 0xABu, |
5940 3u, | 5940 3u, |
5941 0, | 5941 0, |
5942 nullstring, | 5942 "", |
5943 pTexture_presleft, | 5943 pTexture_presleft, |
5944 0); | 5944 0); |
5945 pCreationUI_BtnPressRight[0] = pGUIWindow_CurrentMenu->CreateButton( | 5945 pCreationUI_BtnPressRight[0] = pGUIWindow_CurrentMenu->CreateButton( |
5946 74u, | 5946 74u, |
5947 32u, | 5947 32u, |
5950 1, | 5950 1, |
5951 0, | 5951 0, |
5952 0xACu, | 5952 0xACu, |
5953 0, | 5953 0, |
5954 0, | 5954 0, |
5955 nullstring, | 5955 "", |
5956 pTexture_pressrigh, | 5956 pTexture_pressrigh, |
5957 0); | 5957 0); |
5958 pCreationUI_BtnPressRight[1] = pGUIWindow_CurrentMenu->CreateButton( | 5958 pCreationUI_BtnPressRight[1] = pGUIWindow_CurrentMenu->CreateButton( |
5959 233u, | 5959 233u, |
5960 32u, | 5960 32u, |
5963 1, | 5963 1, |
5964 0, | 5964 0, |
5965 0xACu, | 5965 0xACu, |
5966 1u, | 5966 1u, |
5967 0, | 5967 0, |
5968 nullstring, | 5968 "", |
5969 pTexture_pressrigh, | 5969 pTexture_pressrigh, |
5970 0); | 5970 0); |
5971 pCreationUI_BtnPressRight[2] = pGUIWindow_CurrentMenu->CreateButton( | 5971 pCreationUI_BtnPressRight[2] = pGUIWindow_CurrentMenu->CreateButton( |
5972 391u, | 5972 391u, |
5973 32u, | 5973 32u, |
5976 1, | 5976 1, |
5977 0, | 5977 0, |
5978 0xACu, | 5978 0xACu, |
5979 2u, | 5979 2u, |
5980 0, | 5980 0, |
5981 nullstring, | 5981 "", |
5982 pTexture_pressrigh, | 5982 pTexture_pressrigh, |
5983 0); | 5983 0); |
5984 pCreationUI_BtnPressRight[3] = pGUIWindow_CurrentMenu->CreateButton( | 5984 pCreationUI_BtnPressRight[3] = pGUIWindow_CurrentMenu->CreateButton( |
5985 549u, | 5985 549u, |
5986 32u, | 5986 32u, |
5989 1, | 5989 1, |
5990 0, | 5990 0, |
5991 0xACu, | 5991 0xACu, |
5992 3u, | 5992 3u, |
5993 0, | 5993 0, |
5994 nullstring, | 5994 "", |
5995 pTexture_pressrigh, | 5995 pTexture_pressrigh, |
5996 0); | 5996 0); |
5997 pCreationUI_BtnPressLeft2[0] = pGUIWindow_CurrentMenu->CreateButton( | 5997 pCreationUI_BtnPressLeft2[0] = pGUIWindow_CurrentMenu->CreateButton( |
5998 10u, | 5998 10u, |
5999 103u, | 5999 103u, |
6002 1, | 6002 1, |
6003 0, | 6003 0, |
6004 0x90u, | 6004 0x90u, |
6005 0, | 6005 0, |
6006 0, | 6006 0, |
6007 nullstring, | 6007 "", |
6008 pTexture_presleft, | 6008 pTexture_presleft, |
6009 0); | 6009 0); |
6010 pCreationUI_BtnPressLeft2[1] = pGUIWindow_CurrentMenu->CreateButton( | 6010 pCreationUI_BtnPressLeft2[1] = pGUIWindow_CurrentMenu->CreateButton( |
6011 169u, | 6011 169u, |
6012 103u, | 6012 103u, |
6015 1, | 6015 1, |
6016 0, | 6016 0, |
6017 0x90u, | 6017 0x90u, |
6018 1u, | 6018 1u, |
6019 0, | 6019 0, |
6020 nullstring, | 6020 "", |
6021 pTexture_presleft, | 6021 pTexture_presleft, |
6022 0); | 6022 0); |
6023 pCreationUI_BtnPressLeft2[2] = pGUIWindow_CurrentMenu->CreateButton( | 6023 pCreationUI_BtnPressLeft2[2] = pGUIWindow_CurrentMenu->CreateButton( |
6024 327u, | 6024 327u, |
6025 103u, | 6025 103u, |
6028 1, | 6028 1, |
6029 0, | 6029 0, |
6030 0x90u, | 6030 0x90u, |
6031 2u, | 6031 2u, |
6032 0, | 6032 0, |
6033 nullstring, | 6033 "", |
6034 pTexture_presleft, | 6034 pTexture_presleft, |
6035 0); | 6035 0); |
6036 pCreationUI_BtnPressLeft2[3] = pGUIWindow_CurrentMenu->CreateButton( | 6036 pCreationUI_BtnPressLeft2[3] = pGUIWindow_CurrentMenu->CreateButton( |
6037 486u, | 6037 486u, |
6038 103u, | 6038 103u, |
6041 1, | 6041 1, |
6042 0, | 6042 0, |
6043 0x90u, | 6043 0x90u, |
6044 3u, | 6044 3u, |
6045 0, | 6045 0, |
6046 nullstring, | 6046 "", |
6047 pTexture_presleft, | 6047 pTexture_presleft, |
6048 0); | 6048 0); |
6049 pCreationUI_BtnPressRight2[0] = pGUIWindow_CurrentMenu->CreateButton( | 6049 pCreationUI_BtnPressRight2[0] = pGUIWindow_CurrentMenu->CreateButton( |
6050 74u, | 6050 74u, |
6051 103u, | 6051 103u, |
6054 1, | 6054 1, |
6055 0, | 6055 0, |
6056 0x91u, | 6056 0x91u, |
6057 0, | 6057 0, |
6058 0, | 6058 0, |
6059 nullstring, | 6059 "", |
6060 pTexture_pressrigh, | 6060 pTexture_pressrigh, |
6061 0); | 6061 0); |
6062 pCreationUI_BtnPressRight2[1] = pGUIWindow_CurrentMenu->CreateButton( | 6062 pCreationUI_BtnPressRight2[1] = pGUIWindow_CurrentMenu->CreateButton( |
6063 233u, | 6063 233u, |
6064 103u, | 6064 103u, |
6067 1, | 6067 1, |
6068 0, | 6068 0, |
6069 0x91u, | 6069 0x91u, |
6070 1u, | 6070 1u, |
6071 0, | 6071 0, |
6072 nullstring, | 6072 "", |
6073 pTexture_pressrigh, | 6073 pTexture_pressrigh, |
6074 0); | 6074 0); |
6075 pCreationUI_BtnPressRight2[2] = pGUIWindow_CurrentMenu->CreateButton( | 6075 pCreationUI_BtnPressRight2[2] = pGUIWindow_CurrentMenu->CreateButton( |
6076 391u, | 6076 391u, |
6077 103u, | 6077 103u, |
6080 1, | 6080 1, |
6081 0, | 6081 0, |
6082 0x91u, | 6082 0x91u, |
6083 2u, | 6083 2u, |
6084 0, | 6084 0, |
6085 nullstring, | 6085 "", |
6086 pTexture_pressrigh, | 6086 pTexture_pressrigh, |
6087 0); | 6087 0); |
6088 pCreationUI_BtnPressRight2[3] = pGUIWindow_CurrentMenu->CreateButton( | 6088 pCreationUI_BtnPressRight2[3] = pGUIWindow_CurrentMenu->CreateButton( |
6089 549u, | 6089 549u, |
6090 103u, | 6090 103u, |
6093 1, | 6093 1, |
6094 0, | 6094 0, |
6095 0x91u, | 6095 0x91u, |
6096 3u, | 6096 3u, |
6097 0, | 6097 0, |
6098 nullstring, | 6098 "", |
6099 pTexture_pressrigh, | 6099 pTexture_pressrigh, |
6100 0); | 6100 0); |
6101 uControlParamb = 0; | 6101 uControlParamb = 0; |
6102 uXb = 8; | 6102 uXb = 8; |
6103 do | 6103 do |
6104 { | 6104 { |
6105 pGUIWindow_CurrentMenu->CreateButton(uXb, 308u, 150u, v0, 1, 0, 0x48u, uControlParamb, 0, nullstring, 0); | 6105 pGUIWindow_CurrentMenu->CreateButton(uXb, 308u, 150u, v0, 1, 0, 0x48u, uControlParamb, 0, "", 0); |
6106 pGUIWindow_CurrentMenu->CreateButton( | 6106 pGUIWindow_CurrentMenu->CreateButton( |
6107 uXb, | 6107 uXb, |
6108 v0 + 308, | 6108 v0 + 308, |
6109 150u, | 6109 150u, |
6110 v0, | 6110 v0, |
6111 1, | 6111 1, |
6112 0, | 6112 0, |
6113 0x49u, | 6113 0x49u, |
6114 uControlParamb, | 6114 uControlParamb, |
6115 0, | 6115 0, |
6116 nullstring, | 6116 "", |
6117 0); | 6117 0); |
6118 pGUIWindow_CurrentMenu->CreateButton( | 6118 pGUIWindow_CurrentMenu->CreateButton( |
6119 uXb, | 6119 uXb, |
6120 2 * v0 + 308, | 6120 2 * v0 + 308, |
6121 150u, | 6121 150u, |
6123 1, | 6123 1, |
6124 0, | 6124 0, |
6125 0x4Au, | 6125 0x4Au, |
6126 uControlParamb, | 6126 uControlParamb, |
6127 0, | 6127 0, |
6128 nullstring, | 6128 "", |
6129 0); | 6129 0); |
6130 pGUIWindow_CurrentMenu->CreateButton( | 6130 pGUIWindow_CurrentMenu->CreateButton( |
6131 uXb, | 6131 uXb, |
6132 3 * v0 + 308, | 6132 3 * v0 + 308, |
6133 150u, | 6133 150u, |
6135 1, | 6135 1, |
6136 0, | 6136 0, |
6137 0x4Bu, | 6137 0x4Bu, |
6138 uControlParamb, | 6138 uControlParamb, |
6139 0, | 6139 0, |
6140 nullstring, | 6140 "", |
6141 0); | 6141 0); |
6142 uXb += 158; | 6142 uXb += 158; |
6143 ++uControlParamb; | 6143 ++uControlParamb; |
6144 } | 6144 } |
6145 while ( (signed int)uXb < 640 ); | 6145 while ( (signed int)uXb < 640 ); |
6146 pGUIWindow_CurrentMenu->CreateButton(5u, 21u, 0x99u, 0x16Du, 1, 0, 0x76u, 0, 0x31u, nullstring, 0); | 6146 pGUIWindow_CurrentMenu->CreateButton(5u, 21u, 0x99u, 0x16Du, 1, 0, 0x76u, 0, 0x31u, "", 0); |
6147 pGUIWindow_CurrentMenu->CreateButton(163u, 21u, 0x99u, 0x16Du, 1, 0, 0x76u, 1u, 0x32u, nullstring, 0); | 6147 pGUIWindow_CurrentMenu->CreateButton(163u, 21u, 0x99u, 0x16Du, 1, 0, 0x76u, 1u, 0x32u, "", 0); |
6148 pGUIWindow_CurrentMenu->CreateButton(321u, 21u, 0x99u, 0x16Du, 1, 0, 0x76u, 2u, 0x33u, nullstring, 0); | 6148 pGUIWindow_CurrentMenu->CreateButton(321u, 21u, 0x99u, 0x16Du, 1, 0, 0x76u, 2u, 0x33u, "", 0); |
6149 pGUIWindow_CurrentMenu->CreateButton(479u, 21u, 0x99u, 0x16Du, 1, 0, 0x76u, 3u, 0x34u, nullstring, 0); | 6149 pGUIWindow_CurrentMenu->CreateButton(479u, 21u, 0x99u, 0x16Du, 1, 0, 0x76u, 3u, 0x34u, "", 0); |
6150 uXc = 23; | 6150 uXc = 23; |
6151 uControlParamc = 2; | 6151 uControlParamc = 2; |
6152 do | 6152 do |
6153 { | 6153 { |
6154 pGUIWindow_CurrentMenu->CreateButton(uXc, 169u, 120u, 20u, 1, 0, 0, uControlParamc - 2, 0, nullstring, 0); | 6154 pGUIWindow_CurrentMenu->CreateButton(uXc, 169u, 120u, 20u, 1, 0, 0, uControlParamc - 2, 0, "", 0); |
6155 pGUIWindow_CurrentMenu->CreateButton( | 6155 pGUIWindow_CurrentMenu->CreateButton( |
6156 uXc, | 6156 uXc, |
6157 v0 + 169, | 6157 v0 + 169, |
6158 120u, | 6158 120u, |
6159 20u, | 6159 20u, |
6160 1, | 6160 1, |
6161 0, | 6161 0, |
6162 0, | 6162 0, |
6163 uControlParamc - 1, | 6163 uControlParamc - 1, |
6164 0, | 6164 0, |
6165 nullstring, | 6165 "", |
6166 0); | 6166 0); |
6167 pGUIWindow_CurrentMenu->CreateButton( | 6167 pGUIWindow_CurrentMenu->CreateButton( |
6168 uXc, | 6168 uXc, |
6169 2 * v0 + 169, | 6169 2 * v0 + 169, |
6170 120u, | 6170 120u, |
6172 1, | 6172 1, |
6173 0, | 6173 0, |
6174 0, | 6174 0, |
6175 uControlParamc, | 6175 uControlParamc, |
6176 0, | 6176 0, |
6177 nullstring, | 6177 "", |
6178 0); | 6178 0); |
6179 pGUIWindow_CurrentMenu->CreateButton( | 6179 pGUIWindow_CurrentMenu->CreateButton( |
6180 uXc, | 6180 uXc, |
6181 3 * v0 + 169, | 6181 3 * v0 + 169, |
6182 120u, | 6182 120u, |
6184 1, | 6184 1, |
6185 0, | 6185 0, |
6186 0, | 6186 0, |
6187 uControlParamc + 1, | 6187 uControlParamc + 1, |
6188 0, | 6188 0, |
6189 nullstring, | 6189 "", |
6190 0); | 6190 0); |
6191 pGUIWindow_CurrentMenu->CreateButton( | 6191 pGUIWindow_CurrentMenu->CreateButton( |
6192 uXc, | 6192 uXc, |
6193 4 * v0 + 169, | 6193 4 * v0 + 169, |
6194 120u, | 6194 120u, |
6196 1, | 6196 1, |
6197 0, | 6197 0, |
6198 0, | 6198 0, |
6199 uControlParamc + 2, | 6199 uControlParamc + 2, |
6200 0, | 6200 0, |
6201 nullstring, | 6201 "", |
6202 0); | 6202 0); |
6203 pGUIWindow_CurrentMenu->CreateButton( | 6203 pGUIWindow_CurrentMenu->CreateButton( |
6204 uXc, | 6204 uXc, |
6205 5 * v0 + 169, | 6205 5 * v0 + 169, |
6206 120u, | 6206 120u, |
6208 1, | 6208 1, |
6209 0, | 6209 0, |
6210 0, | 6210 0, |
6211 uControlParamc + 3, | 6211 uControlParamc + 3, |
6212 0, | 6212 0, |
6213 nullstring, | 6213 "", |
6214 0); | 6214 0); |
6215 pGUIWindow_CurrentMenu->CreateButton( | 6215 pGUIWindow_CurrentMenu->CreateButton( |
6216 uXc, | 6216 uXc, |
6217 6 * v0 + 169, | 6217 6 * v0 + 169, |
6218 120u, | 6218 120u, |
6220 1, | 6220 1, |
6221 0, | 6221 0, |
6222 0, | 6222 0, |
6223 uControlParamc + 4, | 6223 uControlParamc + 4, |
6224 0, | 6224 0, |
6225 nullstring, | 6225 "", |
6226 0); | 6226 0); |
6227 uControlParamc += 7; | 6227 uControlParamc += 7; |
6228 uXc += 158; | 6228 uXc += 158; |
6229 } | 6229 } |
6230 while ( (signed int)uControlParamc < 30 ); | 6230 while ( (signed int)uControlParamc < 30 ); |
6231 pGUIWindow_CurrentMenu->_41D08F(28, 0, 7, 40); | 6231 pGUIWindow_CurrentMenu->_41D08F(28, 0, 7, 40); |
6232 pGUIWindow_CurrentMenu->CreateButton(323u, 417u, 65u, v0, 1, 0, 0x41u, 0, 0, nullstring, 0); | 6232 pGUIWindow_CurrentMenu->CreateButton(323u, 417u, 65u, v0, 1, 0, 0x41u, 0, 0, "", 0); |
6233 pGUIWindow_CurrentMenu->CreateButton(323u, v0 + 417, 65u, v0, 1, 0, 0x41u, 0xCu, 0, nullstring, 0); | 6233 pGUIWindow_CurrentMenu->CreateButton(323u, v0 + 417, 65u, v0, 1, 0, 0x41u, 0xCu, 0, "", 0); |
6234 pGUIWindow_CurrentMenu->CreateButton(323u, 2 * v0 + 417, 65u, v0, 1, 0, 0x41u, 0x14u, 0, nullstring, 0); | 6234 pGUIWindow_CurrentMenu->CreateButton(323u, 2 * v0 + 417, 65u, v0, 1, 0, 0x41u, 0x14u, 0, "", 0); |
6235 pGUIWindow_CurrentMenu->CreateButton(388u, 417u, 65u, v0, 1, 0, 0x41u, 0x18u, 0, nullstring, 0); | 6235 pGUIWindow_CurrentMenu->CreateButton(388u, 417u, 65u, v0, 1, 0, 0x41u, 0x18u, 0, "", 0); |
6236 pGUIWindow_CurrentMenu->CreateButton(388u, v0 + 417, 65u, v0, 1, 0, 0x41u, 0x1Cu, 0, nullstring, 0); | 6236 pGUIWindow_CurrentMenu->CreateButton(388u, v0 + 417, 65u, v0, 1, 0, 0x41u, 0x1Cu, 0, "", 0); |
6237 pGUIWindow_CurrentMenu->CreateButton(388u, 2 * v0 + 417, 65u, v0, 1, 0, 0x41u, 0x20u, 0, nullstring, 0); | 6237 pGUIWindow_CurrentMenu->CreateButton(388u, 2 * v0 + 417, 65u, v0, 1, 0, 0x41u, 0x20u, 0, "", 0); |
6238 pGUIWindow_CurrentMenu->CreateButton(453u, 417u, 65u, v0, 1, 0, 0x41u, 0x10u, 0, nullstring, 0); | 6238 pGUIWindow_CurrentMenu->CreateButton(453u, 417u, 65u, v0, 1, 0, 0x41u, 0x10u, 0, "", 0); |
6239 pGUIWindow_CurrentMenu->CreateButton(453u, v0 + 417, 65u, v0, 1, 0, 0x41u, 8u, 0, nullstring, 0); | 6239 pGUIWindow_CurrentMenu->CreateButton(453u, v0 + 417, 65u, v0, 1, 0, 0x41u, 8u, 0, "", 0); |
6240 pGUIWindow_CurrentMenu->CreateButton(453u, 2 * v0 + 417, 65u, v0, 1, 0, 0x41u, 4u, 0, nullstring, 0); | 6240 pGUIWindow_CurrentMenu->CreateButton(453u, 2 * v0 + 417, 65u, v0, 1, 0, 0x41u, 4u, 0, "", 0); |
6241 uControlParamd = 0; | 6241 uControlParamd = 0; |
6242 do | 6242 do |
6243 { | 6243 { |
6244 uXd = -5; | 6244 uXd = -5; |
6245 if ( uControlParamd <= 3 ) | 6245 if ( uControlParamd <= 3 ) |
6252 1, | 6252 1, |
6253 0, | 6253 0, |
6254 0x40u, | 6254 0x40u, |
6255 uControlParamd, | 6255 uControlParamd, |
6256 0, | 6256 0, |
6257 nullstring, | 6257 "", |
6258 0); | 6258 0); |
6259 ++uControlParamd; | 6259 ++uControlParamd; |
6260 } | 6260 } |
6261 while ( uControlParamd < 9 ); | 6261 while ( uControlParamd < 9 ); |
6262 pPlayerCreationUI_BtnOK = pGUIWindow_CurrentMenu->CreateButton( | 6262 pPlayerCreationUI_BtnOK = pGUIWindow_CurrentMenu->CreateButton( |
6267 1, | 6267 1, |
6268 0, | 6268 0, |
6269 0x42u, | 6269 0x42u, |
6270 0, | 6270 0, |
6271 0xDu, | 6271 0xDu, |
6272 nullstring, | 6272 "", |
6273 (Texture *)(uTextureID_BUTTMAKE != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_BUTTMAKE] : 0), | 6273 (Texture *)(uTextureID_BUTTMAKE != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_BUTTMAKE] : 0), |
6274 0); | 6274 0); |
6275 pPlayerCreationUI_BtnReset = pGUIWindow_CurrentMenu->CreateButton( | 6275 pPlayerCreationUI_BtnReset = pGUIWindow_CurrentMenu->CreateButton( |
6276 527u, | 6276 527u, |
6277 431u, | 6277 431u, |
6280 1, | 6280 1, |
6281 0, | 6281 0, |
6282 0x43u, | 6282 0x43u, |
6283 0, | 6283 0, |
6284 0x43u, | 6284 0x43u, |
6285 nullstring, | 6285 "", |
6286 (Texture *)(uTextureID_BUTTMAKE2 != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_BUTTMAKE2] : 0), | 6286 (Texture *)(uTextureID_BUTTMAKE2 != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_BUTTMAKE2] : 0), |
6287 0); | 6287 0); |
6288 pPlayerCreationUI_BtnMinus = pGUIWindow_CurrentMenu->CreateButton( | 6288 pPlayerCreationUI_BtnMinus = pGUIWindow_CurrentMenu->CreateButton( |
6289 523u, | 6289 523u, |
6290 393u, | 6290 393u, |
6293 1, | 6293 1, |
6294 0, | 6294 0, |
6295 0x3Fu, | 6295 0x3Fu, |
6296 0, | 6296 0, |
6297 0x2Du, | 6297 0x2Du, |
6298 nullstring, | 6298 "", |
6299 pTexture_buttminu, | 6299 pTexture_buttminu, |
6300 0); | 6300 0); |
6301 pPlayerCreationUI_BtnPlus = pGUIWindow_CurrentMenu->CreateButton( | 6301 pPlayerCreationUI_BtnPlus = pGUIWindow_CurrentMenu->CreateButton( |
6302 613u, | 6302 613u, |
6303 393u, | 6303 393u, |
6306 1, | 6306 1, |
6307 0, | 6307 0, |
6308 0x3Eu, | 6308 0x3Eu, |
6309 1u, | 6309 1u, |
6310 0x2Bu, | 6310 0x2Bu, |
6311 nullstring, | 6311 "", |
6312 pTexture_buttplus, | 6312 pTexture_buttplus, |
6313 0); | 6313 0); |
6314 pFontCChar = LoadFont("cchar.fnt", "FONTPAL", 0); | 6314 pFontCChar = LoadFont("cchar.fnt", "FONTPAL", 0); |
6315 } | 6315 } |
6316 // 4E28F8: using guessed type int pCurrentScreen; | 6316 // 4E28F8: using guessed type int pCurrentScreen; |
6712 pString, | 6712 pString, |
6713 v21.pPixels, | 6713 v21.pPixels, |
6714 (signed __int16)v21.uWidth); | 6714 (signed __int16)v21.uWidth); |
6715 free(pString); | 6715 free(pString); |
6716 pWindow_MainMenu = GUIWindow::Create(0, 0, 640, 480, WINDOW_MainMenu, 0, (int)ptr); | 6716 pWindow_MainMenu = GUIWindow::Create(0, 0, 640, 480, WINDOW_MainMenu, 0, (int)ptr); |
6717 pWindow_MainMenu->CreateButton(0, 0, 0, 0, 1, 0, 0x71u, 0, 0x1Bu, nullstring, 0); | 6717 pWindow_MainMenu->CreateButton(0, 0, 0, 0, 1, 0, 0x71u, 0, 0x1Bu, "", 0); |
6718 pCurrentScreen = 9; | 6718 pCurrentScreen = 9; |
6719 SetCurrentMenuID(MENU_Credits); | 6719 SetCurrentMenuID(MENU_Credits); |
6720 pRenderer->BeginScene(); | 6720 pRenderer->BeginScene(); |
6721 pRenderer->DrawTextureRGB(0, 0, &v16); | 6721 pRenderer->DrawTextureRGB(0, 0, &v16); |
6722 pRenderer->Clip(a2, a3, a2 + v20, a3 + a4); | 6722 pRenderer->Clip(a2, a3, a2 + v20, a3 + a4); |
6853 } | 6853 } |
6854 else | 6854 else |
6855 { | 6855 { |
6856 result = 1; | 6856 result = 1; |
6857 } | 6857 } |
6858 v3->vNormal.x = v.x; | 6858 v3->face_plane.vNormal.x = v.x; |
6859 v3->vNormal.y = v.y; | 6859 v3->face_plane.vNormal.y = v.y; |
6860 v3->vNormal.z = v.z; | 6860 v3->face_plane.vNormal.z = v.z; |
6861 v3->field_10 = *(float *)&a3; | 6861 v3->face_plane.dist = *(float *)&a3; |
6862 v3->field_14 = result; | 6862 v3->polygonType = (PolygonType)result; |
6863 return result; | 6863 return result; |
6864 } | 6864 } |
6865 | 6865 |
6866 //----- (0049B0C9) -------------------------------------------------------- | 6866 //----- (0049B0C9) -------------------------------------------------------- |
6867 int stru154::_49B0C9(Vec3_float_ *pNormal, float a3) | 6867 int stru154::_49B0C9(Vec3_float_ *pNormal, float dist) |
6868 { | 6868 { |
6869 signed int v3; // esi@1 | 6869 signed int v3; // esi@1 |
6870 signed int result; // eax@9 | 6870 signed int result; // eax@9 |
6871 double v5; // st7@12 | 6871 double v5; // st7@12 |
6872 double v6; // st6@12 | 6872 double v6; // st6@12 |
6896 result = 1; | 6896 result = 1; |
6897 } | 6897 } |
6898 v5 = pNormal->z; | 6898 v5 = pNormal->z; |
6899 v6 = pNormal->y; | 6899 v6 = pNormal->y; |
6900 v7 = pNormal->x; | 6900 v7 = pNormal->x; |
6901 this->field_14 = result; | 6901 this->polygonType = (PolygonType)result; |
6902 this->vNormal.x = v7; | 6902 this->face_plane.vNormal.x = v7; |
6903 this->field_10 = a3; | 6903 this->face_plane.dist = dist; |
6904 this->vNormal.y = v6; | 6904 this->face_plane.vNormal.y = v6; |
6905 this->vNormal.z = v5; | 6905 this->face_plane.vNormal.z = v5; |
6906 return result; | 6906 return result; |
6907 } | 6907 } |
6908 | 6908 |
6909 //----- (0049B13D) -------------------------------------------------------- | 6909 //----- (0049B13D) -------------------------------------------------------- |
6910 int stru154::_49B13D(ODMFace *pFace, BSPVertexBuffer *pVertices, Vec3_float_ *a3, float *a4) | 6910 int stru154::_49B13D(ODMFace *pFace, BSPVertexBuffer *pVertices, Vec3_float_ *a3, float *a4) |
7977 sub_4AE5F1(v2); | 7977 sub_4AE5F1(v2); |
7978 ++pBLVRenderParams->field_84; | 7978 ++pBLVRenderParams->field_84; |
7979 v6 = stru_F8AD28.pDeltaUV[0]; | 7979 v6 = stru_F8AD28.pDeltaUV[0]; |
7980 v116 = stru_F8AD28.pDeltaUV[1]; | 7980 v116 = stru_F8AD28.pDeltaUV[1]; |
7981 v7 = 0; | 7981 v7 = 0; |
7982 for ( i = bUseLoResSprites; v7 < stru_F8AD28.field_AC; *(int *)v9 = v10 ) | 7982 for ( i = bUseLoResSprites; v7 < stru_F8AD28.uNumLightsApplied; *(int *)v9 = v10 ) |
7983 { | 7983 { |
7984 v8 = v116; | 7984 v8 = v116; |
7985 stru_F8AD28._blv_lights_xs[v7] += v6; | 7985 stru_F8AD28._blv_lights_xs[v7] += v6; |
7986 v9 = 4 * v7 + 16297672; | 7986 v9 = 4 * v7 + 16297672; |
7987 v10 = v8 - stru_F8AD28._blv_lights_ys[v7++]; | 7987 v10 = v8 - stru_F8AD28._blv_lights_ys[v7++]; |
8476 v10 = v4->pLevelOfDetail0; | 8476 v10 = v4->pLevelOfDetail0; |
8477 LOBYTE(v2->uAttributes) |= 0x80u; | 8477 LOBYTE(v2->uAttributes) |= 0x80u; |
8478 v48 = v9; | 8478 v48 = v9; |
8479 v50 = v10; | 8479 v50 = v10; |
8480 sub_4AF412(); | 8480 sub_4AF412(); |
8481 ++pBLVRenderParams->field_80; | 8481 ++pBLVRenderParams->uNumFacesRenderedThisFrame; |
8482 v11 = sr_sub_47C24C_get_palette(v2, v4->palette_id2, 0, 1); | 8482 v11 = sr_sub_47C24C_get_palette(v2, v4->palette_id2, 0, 1); |
8483 v12 = stru_F8A590._viewport_space_y; | 8483 v12 = stru_F8A590._viewport_space_y; |
8484 v51 = v11; | 8484 v51 = v11; |
8485 v60 = stru_F8A590._viewport_space_y; | 8485 v60 = stru_F8A590._viewport_space_y; |
8486 if ( stru_F8A590._viewport_space_y <= stru_F8A590.field_4 ) | 8486 if ( stru_F8A590._viewport_space_y <= stru_F8A590.field_4 ) |
8742 int v16; // [sp+14h] [bp-8h]@1 | 8742 int v16; // [sp+14h] [bp-8h]@1 |
8743 int v17; // [sp+18h] [bp-4h]@1 | 8743 int v17; // [sp+18h] [bp-4h]@1 |
8744 | 8744 |
8745 v2 = a1 >> SLOBYTE(stru_F8AD28.field_38); | 8745 v2 = a1 >> SLOBYTE(stru_F8AD28.field_38); |
8746 v3 = a2 >> SLOBYTE(stru_F8AD28.field_38); | 8746 v3 = a2 >> SLOBYTE(stru_F8AD28.field_38); |
8747 v17 = stru_F8AD28.field_2C; | 8747 v17 = stru_F8AD28.uCurrentAmbientLightLevel; |
8748 v4 = 0; | 8748 v4 = 0; |
8749 v15 = v2; | 8749 v15 = v2; |
8750 v16 = 0; | 8750 v16 = 0; |
8751 if ( stru_F8AD28.field_AC > 0 ) | 8751 if ( stru_F8AD28.uNumLightsApplied > 0 ) |
8752 { | 8752 { |
8753 do | 8753 do |
8754 { | 8754 { |
8755 v5 = v16; | 8755 v5 = v16; |
8756 v13 = abs(v2 - stru_F8AD28._blv_lights_xs[v16]); | 8756 v13 = abs(v2 - stru_F8AD28._blv_lights_xs[v16]); |
8779 if ( (signed int)v11 < stru_F8AD28._blv_lights_radii[v5] ) | 8779 if ( (signed int)v11 < stru_F8AD28._blv_lights_radii[v5] ) |
8780 v17 += 30 * (v11 * stru_F8AD28._blv_lights_inv_radii[v5] - 65536); | 8780 v17 += 30 * (v11 * stru_F8AD28._blv_lights_inv_radii[v5] - 65536); |
8781 ++v16; | 8781 ++v16; |
8782 v2 = v15; | 8782 v2 = v15; |
8783 } | 8783 } |
8784 while ( v16 < stru_F8AD28.field_AC ); | 8784 while ( v16 < stru_F8AD28.uNumLightsApplied ); |
8785 v4 = 0; | 8785 v4 = 0; |
8786 } | 8786 } |
8787 if ( stru_F8AD28.field_3E4 != v4 ) | 8787 if ( stru_F8AD28.field_3E4 != v4 ) |
8788 v17 -= stru_F8AD28.field_3E8 * (v2 - stru_F8AD28.field_3F0) + stru_F8AD28.field_3EC * (v3 - stru_F8AD28.field_3F4); | 8788 v17 -= stru_F8AD28.field_3E8 * (v2 - stru_F8AD28.field_3F0) + stru_F8AD28.field_3EC * (v3 - stru_F8AD28.field_3F4); |
8789 if ( v17 >= v4 ) | 8789 if ( v17 >= v4 ) |
8923 stru_F8AD28.vec_14.y = v67.y; | 8923 stru_F8AD28.vec_14.y = v67.y; |
8924 stru_F8AD28.vec_14.z = v67.z; | 8924 stru_F8AD28.vec_14.z = v67.z; |
8925 stru_F8AD28.vec_20.x = v66.x; | 8925 stru_F8AD28.vec_20.x = v66.x; |
8926 stru_F8AD28.vec_20.y = v66.y; | 8926 stru_F8AD28.vec_20.y = v66.y; |
8927 stru_F8AD28.vec_20.z = v66.z; | 8927 stru_F8AD28.vec_20.z = v66.z; |
8928 stru_F8AD28.field_3F8 = v2->field_22; | 8928 stru_F8AD28.uDefaultAmbientLightLevel = v2->field_22; |
8929 if ( pBLVRenderParams->sPartyRotX ) | 8929 if ( pBLVRenderParams->sPartyRotX ) |
8930 { | 8930 { |
8931 v74 = (unsigned __int64)(stru_F8AD28.plane_4.vNormal.y * (signed __int64)pBLVRenderParams->sSineY) >> 16; | 8931 v74 = (unsigned __int64)(stru_F8AD28.plane_4.vNormal.y * (signed __int64)pBLVRenderParams->sSineY) >> 16; |
8932 v74 = ((unsigned __int64)(stru_F8AD28.plane_4.vNormal.x * (signed __int64)pBLVRenderParams->sCosineY) >> 16) - v74; | 8932 v74 = ((unsigned __int64)(stru_F8AD28.plane_4.vNormal.x * (signed __int64)pBLVRenderParams->sCosineY) >> 16) - v74; |
8933 X = (unsigned __int64)(stru_F8AD28.plane_4.vNormal.z * (signed __int64)pBLVRenderParams->sSineNegX) >> 16; | 8933 X = (unsigned __int64)(stru_F8AD28.plane_4.vNormal.z * (signed __int64)pBLVRenderParams->sSineNegX) >> 16; |
9044 v16 = 0.0039215689; | 9044 v16 = 0.0039215689; |
9045 v17 = 116 * v1->uSectorID; | 9045 v17 = 116 * v1->uSectorID; |
9046 v69 = v17; | 9046 v69 = v17; |
9047 v74 = 0; | 9047 v74 = 0; |
9048 v73 = 0; | 9048 v73 = 0; |
9049 stru_F8AD28.field_2C = (stru_F8AD28.field_3F8 + *(__int16 *)((char *)&pIndoor->pSectors->uMinAmbientLightLevel + v17)) << 16; | 9049 stru_F8AD28.uCurrentAmbientLightLevel = (stru_F8AD28.uDefaultAmbientLightLevel + *(__int16 *)((char *)&pIndoor->pSectors->uMinAmbientLightLevel + v17)) << 16; |
9050 v70 = uNumMobileLightsApplied; | 9050 v70 = pMobileLightsStack->uNumLightsActive; |
9051 if ( uNumMobileLightsApplied > 0 ) | 9051 if ( pMobileLightsStack->uNumLightsActive > 0 ) |
9052 { | 9052 { |
9053 v18 = (char *)&pMobileLights[0].vPosition.y; | 9053 v18 = (char *)&pMobileLightsStack->pLights[0].vPosition.y; |
9054 do | 9054 do |
9055 { | 9055 { |
9056 if ( v74 >= 20 ) | 9056 if ( v74 >= 20 ) |
9057 break; | 9057 break; |
9058 v19 = *((short *)v18 + 2); | 9058 v19 = *((short *)v18 + 2); |
9097 v16 = 0.0039215689; | 9097 v16 = 0.0039215689; |
9098 stru_F8AD28._blv_lights_light_dot_faces[v24] = abs(v23); | 9098 stru_F8AD28._blv_lights_light_dot_faces[v24] = abs(v23); |
9099 v28 = v74; | 9099 v28 = v74; |
9100 v29 = v18[9]; | 9100 v29 = v18[9]; |
9101 ++v74; | 9101 ++v74; |
9102 stru_F8AD28._blv_lights_smthngs[v28] = v29; | 9102 stru_F8AD28._blv_lights_types[v28] = v29; |
9103 } | 9103 } |
9104 } | 9104 } |
9105 } | 9105 } |
9106 } | 9106 } |
9107 } | 9107 } |
9165 v68 = (BLVFaceExtra *)v32->uBlue; | 9165 v68 = (BLVFaceExtra *)v32->uBlue; |
9166 stru_F8AD28._blv_lights_bs[v39] = (double)(signed int)v68 * v16; | 9166 stru_F8AD28._blv_lights_bs[v39] = (double)(signed int)v68 * v16; |
9167 v16 = 0.0039215689; | 9167 v16 = 0.0039215689; |
9168 stru_F8AD28._blv_lights_light_dot_faces[v39] = abs(v38); | 9168 stru_F8AD28._blv_lights_light_dot_faces[v39] = abs(v38); |
9169 v40 = v74++; | 9169 v40 = v74++; |
9170 stru_F8AD28._blv_lights_smthngs[v40] = 1; | 9170 stru_F8AD28._blv_lights_types[v40] = 1; |
9171 } | 9171 } |
9172 } | 9172 } |
9173 } | 9173 } |
9174 } | 9174 } |
9175 } | 9175 } |
9182 break; | 9182 break; |
9183 v17 = v69; | 9183 v17 = v69; |
9184 } | 9184 } |
9185 } | 9185 } |
9186 v73 = 0; | 9186 v73 = 0; |
9187 if ( uNumStationaryLightsApplied > 0 ) | 9187 if ( pStationaryLightsStack->uNumLightsActive > 0 ) |
9188 { | 9188 { |
9189 v41 = (char *)&pStationaryLights[0].vPosition.y; | 9189 v41 = (char *)&pStationaryLightsStack->pLights[0].vPosition.y; |
9190 do | 9190 do |
9191 { | 9191 { |
9192 if ( v74 >= 20 ) | 9192 if ( v74 >= 20 ) |
9193 break; | 9193 break; |
9194 v42 = *((short *)v41 + 2); | 9194 v42 = *((short *)v41 + 2); |
9233 stru_F8AD28._blv_lights_gs[v48] = v51 * v16; | 9233 stru_F8AD28._blv_lights_gs[v48] = v51 * v16; |
9234 stru_F8AD28._blv_lights_bs[v48] = (double)(signed int)v68 * v16; | 9234 stru_F8AD28._blv_lights_bs[v48] = (double)(signed int)v68 * v16; |
9235 v16 = 0.0039215689; | 9235 v16 = 0.0039215689; |
9236 stru_F8AD28._blv_lights_light_dot_faces[v48] = abs(v47); | 9236 stru_F8AD28._blv_lights_light_dot_faces[v48] = abs(v47); |
9237 v52 = v74++; | 9237 v52 = v74++; |
9238 stru_F8AD28._blv_lights_smthngs[v52] = 1; | 9238 stru_F8AD28._blv_lights_types[v52] = 1; |
9239 } | 9239 } |
9240 } | 9240 } |
9241 } | 9241 } |
9242 } | 9242 } |
9243 } | 9243 } |
9245 } | 9245 } |
9246 } | 9246 } |
9247 ++v73; | 9247 ++v73; |
9248 v41 += 12; | 9248 v41 += 12; |
9249 } | 9249 } |
9250 while ( v73 < uNumStationaryLightsApplied ); | 9250 while ( v73 < pStationaryLightsStack->uNumLightsActive ); |
9251 } | 9251 } |
9252 stru_F8AD28.field_AC = v74; | 9252 stru_F8AD28.uNumLightsApplied = v74; |
9253 v53 = v1->pBounding.x2; | 9253 v53 = v1->pBounding.x2; |
9254 if ( pBLVRenderParams->vPartyPos.x <= v53 ) | 9254 if ( pBLVRenderParams->vPartyPos.x <= v53 ) |
9255 { | 9255 { |
9256 v55 = v1->pBounding.x1; | 9256 v55 = v1->pBounding.x1; |
9257 if ( pBLVRenderParams->vPartyPos.x >= v55 ) | 9257 if ( pBLVRenderParams->vPartyPos.x >= v55 ) |
9350 stru_F8AD28.vec_14.x = 65536; | 9350 stru_F8AD28.vec_14.x = 65536; |
9351 stru_F8AD28.vec_14.y = 0; | 9351 stru_F8AD28.vec_14.y = 0; |
9352 stru_F8AD28.vec_14.z = 0; | 9352 stru_F8AD28.vec_14.z = 0; |
9353 stru_F8AD28.vec_20.x = 0; | 9353 stru_F8AD28.vec_20.x = 0; |
9354 stru_F8AD28.vec_20.z = 0; | 9354 stru_F8AD28.vec_20.z = 0; |
9355 stru_F8AD28.field_3F8 = 0; | 9355 stru_F8AD28.uDefaultAmbientLightLevel = 0; |
9356 if ( pBLVRenderParams->sPartyRotX ) | 9356 if ( pBLVRenderParams->sPartyRotX ) |
9357 { | 9357 { |
9358 v0 = ((unsigned __int64)(stru_F8AD28.plane_4.vNormal.x * (signed __int64)pBLVRenderParams->sCosineY) >> 16) | 9358 v0 = ((unsigned __int64)(stru_F8AD28.plane_4.vNormal.x * (signed __int64)pBLVRenderParams->sCosineY) >> 16) |
9359 - ((unsigned __int64)(stru_F8AD28.plane_4.vNormal.y * (signed __int64)pBLVRenderParams->sSineY) >> 16); | 9359 - ((unsigned __int64)(stru_F8AD28.plane_4.vNormal.y * (signed __int64)pBLVRenderParams->sSineY) >> 16); |
9360 stru_F8AD28.rotated_normal.x = ((unsigned __int64)(v0 * (signed __int64)pBLVRenderParams->sCosineNegX) >> 16) | 9360 stru_F8AD28.rotated_normal.x = ((unsigned __int64)(v0 * (signed __int64)pBLVRenderParams->sCosineNegX) >> 16) |
9448 stru_F8AD28.field_A8 = -(((unsigned __int64)(stru_F8AD28.vec_70.x * (signed __int64)v5) >> 16) | 9448 stru_F8AD28.field_A8 = -(((unsigned __int64)(stru_F8AD28.vec_70.x * (signed __int64)v5) >> 16) |
9449 + ((unsigned __int64)(stru_F8AD28.vec_70.y * (signed __int64)v3) >> 16) | 9449 + ((unsigned __int64)(stru_F8AD28.vec_70.y * (signed __int64)v3) >> 16) |
9450 + ((unsigned __int64)(stru_F8AD28.vec_70.z * (signed __int64)v7) >> 16)); | 9450 + ((unsigned __int64)(stru_F8AD28.vec_70.z * (signed __int64)v7) >> 16)); |
9451 stru_F8AD28.field_38 = 0; | 9451 stru_F8AD28.field_38 = 0; |
9452 stru_F8AD28.field_3E4 = 0; | 9452 stru_F8AD28.field_3E4 = 0; |
9453 stru_F8AD28.field_2C = 0; | 9453 stru_F8AD28.uCurrentAmbientLightLevel = 0; |
9454 stru_F8AD28.field_AC = 0; | 9454 stru_F8AD28.uNumLightsApplied = 0; |
9455 stru_F8AD28.field_34 = 0; | 9455 stru_F8AD28.field_34 = 0; |
9456 return result; | 9456 return result; |
9457 } | 9457 } |
9458 | 9458 |
9459 | 9459 |
10810 v31 = *(int *)v29; | 10810 v31 = *(int *)v29; |
10811 v32 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFFu, 0xFFu, 0x9Bu); | 10811 v32 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFFu, 0xFFu, 0x9Bu); |
10812 sprintfex(pTmpBuf, &byte_4F0F98, v32, v31, v30); | 10812 sprintfex(pTmpBuf, &byte_4F0F98, v32, v31, v30); |
10813 sprintfex(pTmpBuf2, dword_F8B1A4, pTmpBuf, 100 * (unsigned __int8)v29[8]); | 10813 sprintfex(pTmpBuf2, dword_F8B1A4, pTmpBuf, 100 * (unsigned __int8)v29[8]); |
10814 ptr_F8B1E8 = pTmpBuf2; | 10814 ptr_F8B1E8 = pTmpBuf2; |
10815 v15 = nullstring; | 10815 v15 = ""; |
10816 goto LABEL_45; | 10816 goto LABEL_45; |
10817 } | 10817 } |
10818 if ( v28 != 10 ) | 10818 if ( v28 != 10 ) |
10819 goto LABEL_41; | 10819 goto LABEL_41; |
10820 } | 10820 } |
10826 LABEL_33: | 10826 LABEL_33: |
10827 v15 = (&dword_721660)[8 * v23]; | 10827 v15 = (&dword_721660)[8 * v23]; |
10828 if ( !v15 ) | 10828 if ( !v15 ) |
10829 { | 10829 { |
10830 v16->uControlParam = 0; | 10830 v16->uControlParam = 0; |
10831 v15 = nullstring; | 10831 v15 = ""; |
10832 } | 10832 } |
10833 goto LABEL_49; | 10833 goto LABEL_49; |
10834 } | 10834 } |
10835 v18 = v17 - 13; | 10835 v18 = v17 - 13; |
10836 if ( v18 ) | 10836 if ( v18 ) |
10846 { | 10846 { |
10847 v15 = (&dword_721660)[8 * v58->evtb]; | 10847 v15 = (&dword_721660)[8 * v58->evtb]; |
10848 if ( !v15 ) | 10848 if ( !v15 ) |
10849 { | 10849 { |
10850 v16->uControlParam = 0; | 10850 v16->uControlParam = 0; |
10851 v15 = nullstring; | 10851 v15 = ""; |
10852 } | 10852 } |
10853 if ( uDialogueType != 84 ) | 10853 if ( uDialogueType != 84 ) |
10854 goto LABEL_49; | 10854 goto LABEL_49; |
10855 sprintfex(pTmpBuf, format_4E2D80, v55, pItemsTable->pItems[dword_F8B1A8].pUnidentifiedName); | 10855 sprintfex(pTmpBuf, format_4E2D80, v55, pItemsTable->pItems[dword_F8B1A8].pUnidentifiedName); |
10856 sprintfex(pTmpBuf2, ptr_F8B1E8, pTmpBuf); | 10856 sprintfex(pTmpBuf2, ptr_F8B1E8, pTmpBuf); |
10873 { | 10873 { |
10874 v23 = v58->evte; | 10874 v23 = v58->evte; |
10875 goto LABEL_33; | 10875 goto LABEL_33; |
10876 } | 10876 } |
10877 LABEL_41: | 10877 LABEL_41: |
10878 v15 = nullstring; | 10878 v15 = ""; |
10879 goto LABEL_49; | 10879 goto LABEL_49; |
10880 } | 10880 } |
10881 v15 = pGlobalTXT_LocalizationStrings[122]; | 10881 v15 = pGlobalTXT_LocalizationStrings[122]; |
10882 } | 10882 } |
10883 LABEL_49: | 10883 LABEL_49: |
10979 1, | 10979 1, |
10980 0, | 10980 0, |
10981 0x195u, | 10981 0x195u, |
10982 a2, | 10982 a2, |
10983 0, | 10983 0, |
10984 nullstring, | 10984 "", |
10985 0); | 10985 0); |
10986 } | 10986 } |
10987 | 10987 |
10988 //----- (004B3703) -------------------------------------------------------- | 10988 //----- (004B3703) -------------------------------------------------------- |
10989 int __thiscall sub_4B3703(void *_this) | 10989 int __thiscall sub_4B3703(void *_this) |
11699 0, | 11699 0, |
11700 0, | 11700 0, |
11701 pGlobalTXT_LocalizationStrings[34], | 11701 pGlobalTXT_LocalizationStrings[34], |
11702 (Texture *)(uTextureID_506438 != -1 ? &pIcons_LOD->pTextures[uTextureID_506438] : 0), | 11702 (Texture *)(uTextureID_506438 != -1 ? &pIcons_LOD->pTextures[uTextureID_506438] : 0), |
11703 0); | 11703 0); |
11704 pDialogueWindow->CreateButton(0, 0, 0, 0, 1, 0, 0x51u, 0, 0, nullstring, 0); | 11704 pDialogueWindow->CreateButton(0, 0, 0, 0, 1, 0, 0x51u, 0, 0, "", 0); |
11705 pDialogueWindow->CreateButton( | 11705 pDialogueWindow->CreateButton( |
11706 0x1E0u, | 11706 0x1E0u, |
11707 0xA0u, | 11707 0xA0u, |
11708 0x8Cu, | 11708 0x8Cu, |
11709 0x1Eu, | 11709 0x1Eu, |
11729 uDialogueType = 78; | 11729 uDialogueType = 78; |
11730 ptr_F8B1E8 = (char *)pNPCTopics[a4 + 168].pText; | 11730 ptr_F8B1E8 = (char *)pNPCTopics[a4 + 168].pText; |
11731 _4B254D_SkillMasteryTeacher(a4); | 11731 _4B254D_SkillMasteryTeacher(a4); |
11732 pDialogueWindow->Release(); | 11732 pDialogueWindow->Release(); |
11733 pDialogueWindow = GUIWindow::Create(0, 0, 640, 0x15Eu, WINDOW_MainMenu, v1, 0); | 11733 pDialogueWindow = GUIWindow::Create(0, 0, 640, 0x15Eu, WINDOW_MainMenu, v1, 0); |
11734 v2 = nullstring; | 11734 v2 = ""; |
11735 ptr_5076F4 = pDialogueWindow->CreateButton( | 11735 ptr_5076F4 = pDialogueWindow->CreateButton( |
11736 0x1D7u, | 11736 0x1D7u, |
11737 0x1BDu, | 11737 0x1BDu, |
11738 0xA9u, | 11738 0xA9u, |
11739 0x23u, | 11739 0x23u, |
11743 0, | 11743 0, |
11744 0, | 11744 0, |
11745 pGlobalTXT_LocalizationStrings[34], | 11745 pGlobalTXT_LocalizationStrings[34], |
11746 (Texture *)(uTextureID_506438 != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_506438] : 0), | 11746 (Texture *)(uTextureID_506438 != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_506438] : 0), |
11747 0); | 11747 0); |
11748 pDialogueWindow->CreateButton(0, 0, 0, 0, 1, 0, 0x51u, 0, 0, nullstring, 0); | 11748 pDialogueWindow->CreateButton(0, 0, 0, 0, 1, 0, 0x51u, 0, 0, "", 0); |
11749 if ( dword_F8B1A8 ) | 11749 if ( dword_F8B1A8 ) |
11750 v2 = pGlobalTXT_LocalizationStrings[535]; | 11750 v2 = pGlobalTXT_LocalizationStrings[535]; |
11751 pDialogueWindow->CreateButton(0x1E0u, 0xA0u, 0x8Cu, 0x1Eu, 1, 0, 0xAFu, 0x4Fu, 0, v2, 0); | 11751 pDialogueWindow->CreateButton(0x1E0u, 0xA0u, 0x8Cu, 0x1Eu, 1, 0, 0xAFu, 0x4Fu, 0, v2, 0); |
11752 pDialogueWindow->_41D08F(1, 1, 0, 2); | 11752 pDialogueWindow->_41D08F(1, 1, 0, 2); |
11753 dword_F8B19C = -1; | 11753 dword_F8B19C = -1; |
11776 0, | 11776 0, |
11777 0, | 11777 0, |
11778 pGlobalTXT_LocalizationStrings[34], | 11778 pGlobalTXT_LocalizationStrings[34], |
11779 (Texture *)(uTextureID_506438 != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_506438] : 0), | 11779 (Texture *)(uTextureID_506438 != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_506438] : 0), |
11780 0); | 11780 0); |
11781 pDialogueWindow->CreateButton(0, 0, 0, 0, 1, 0, 0x51u, 0, 0, nullstring, 0); | 11781 pDialogueWindow->CreateButton(0, 0, 0, 0, 1, 0, 0x51u, 0, 0, "", 0); |
11782 if ( *(&pNPCStats->field_13A5C + 5 * v1->uProfession) ) | 11782 if ( *(&pNPCStats->field_13A5C + 5 * v1->uProfession) ) |
11783 { | 11783 { |
11784 pDialogueWindow->CreateButton( | 11784 pDialogueWindow->CreateButton( |
11785 0x1E0u, | 11785 0x1E0u, |
11786 0xA0u, | 11786 0xA0u, |
11905 0, | 11905 0, |
11906 0, | 11906 0, |
11907 pGlobalTXT_LocalizationStrings[74],// "End Conversation" | 11907 pGlobalTXT_LocalizationStrings[74],// "End Conversation" |
11908 (Texture *)(uTextureID_506438 != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_506438] : 0), | 11908 (Texture *)(uTextureID_506438 != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_506438] : 0), |
11909 0); | 11909 0); |
11910 pDialogueWindow->CreateButton(8u, 8u, 0x1C2u, 0x140u, 1, 0, 0x51u, 0, 0, nullstring, 0); | 11910 pDialogueWindow->CreateButton(8u, 8u, 0x1C2u, 0x140u, 1, 0, 0x51u, 0, 0, "", 0); |
11911 if ( array_5913D8[6] == (NPCData *)1 && dword_591080 ) | 11911 if ( array_5913D8[6] == (NPCData *)1 && dword_591080 ) |
11912 { | 11912 { |
11913 result = (GUIButton *)sub_4B3B42(dword_F8B198); | 11913 result = (GUIButton *)sub_4B3B42(dword_F8B198); |
11914 } | 11914 } |
11915 else | 11915 else |
11916 { | 11916 { |
11917 if ( v17->joins ) | 11917 if ( v17->joins ) |
11918 { | 11918 { |
11919 v1 = 1; | 11919 v1 = 1; |
11920 pDialogueWindow->CreateButton(480u, 160u, 140u, 30u, 1, 0, 0xAFu, 0xDu, 0, nullstring, 0); | 11920 pDialogueWindow->CreateButton(480u, 160u, 140u, 30u, 1, 0, 0xAFu, 0xDu, 0, "", 0); |
11921 } | 11921 } |
11922 v5 = (void *)v17->bDrawSomeAnim; | 11922 v5 = (void *)v17->bDrawSomeAnim; |
11923 if ( v5 ) | 11923 if ( v5 ) |
11924 { | 11924 { |
11925 if ( v1 < 4 ) | 11925 if ( v1 < 4 ) |
11934 1, | 11934 1, |
11935 0, | 11935 0, |
11936 0xAFu, | 11936 0xAFu, |
11937 0x13u, | 11937 0x13u, |
11938 0, | 11938 0, |
11939 nullstring, | 11939 "", |
11940 0); | 11940 0); |
11941 } | 11941 } |
11942 } | 11942 } |
11943 v7 = (void *)v17->evtb; | 11943 v7 = (void *)v17->evtb; |
11944 if ( v7 ) | 11944 if ( v7 ) |
11955 1, | 11955 1, |
11956 0, | 11956 0, |
11957 0xAFu, | 11957 0xAFu, |
11958 0x14u, | 11958 0x14u, |
11959 0, | 11959 0, |
11960 nullstring, | 11960 "", |
11961 0); | 11961 0); |
11962 } | 11962 } |
11963 } | 11963 } |
11964 v9 = (void *)v17->evtc; | 11964 v9 = (void *)v17->evtc; |
11965 if ( v9 ) | 11965 if ( v9 ) |
11976 1, | 11976 1, |
11977 0, | 11977 0, |
11978 0xAFu, | 11978 0xAFu, |
11979 0x15u, | 11979 0x15u, |
11980 0, | 11980 0, |
11981 nullstring, | 11981 "", |
11982 0); | 11982 0); |
11983 } | 11983 } |
11984 } | 11984 } |
11985 v11 = (void *)v17->evtd; | 11985 v11 = (void *)v17->evtd; |
11986 if ( v11 ) | 11986 if ( v11 ) |
11997 1, | 11997 1, |
11998 0, | 11998 0, |
11999 0xAFu, | 11999 0xAFu, |
12000 0x16u, | 12000 0x16u, |
12001 0, | 12001 0, |
12002 nullstring, | 12002 "", |
12003 0); | 12003 0); |
12004 } | 12004 } |
12005 } | 12005 } |
12006 v13 = (void *)v17->evte; | 12006 v13 = (void *)v17->evte; |
12007 if ( v13 ) | 12007 if ( v13 ) |
12018 1, | 12018 1, |
12019 0, | 12019 0, |
12020 0xAFu, | 12020 0xAFu, |
12021 0x17u, | 12021 0x17u, |
12022 0, | 12022 0, |
12023 nullstring, | 12023 "", |
12024 0); | 12024 0); |
12025 } | 12025 } |
12026 } | 12026 } |
12027 v15 = (void *)v17->evtf; | 12027 v15 = (void *)v17->evtf; |
12028 if ( v15 ) | 12028 if ( v15 ) |
12039 1, | 12039 1, |
12040 0, | 12040 0, |
12041 0xAFu, | 12041 0xAFu, |
12042 0x18u, | 12042 0x18u, |
12043 0, | 12043 0, |
12044 nullstring, | 12044 "", |
12045 0); | 12045 0); |
12046 } | 12046 } |
12047 } | 12047 } |
12048 pDialogueWindow->_41D08F(v1, 1, 0, 2); | 12048 pDialogueWindow->_41D08F(v1, 1, 0, 2); |
12049 v4 = 1; | 12049 v4 = 1; |
13558 //v2 = (signed __int64)(p2DEvents_minus1__20[13 * (unsigned int)v0->ptr_1C] * 500.0); | 13558 //v2 = (signed __int64)(p2DEvents_minus1__20[13 * (unsigned int)v0->ptr_1C] * 500.0); |
13559 v2 = (signed __int64)(p2DEvents[(unsigned int)v0->ptr_1C - 1].fPriceMultiplier * 500.0); | 13559 v2 = (signed __int64)(p2DEvents[(unsigned int)v0->ptr_1C - 1].fPriceMultiplier * 500.0); |
13560 v63 = v2 * (100 - v1->GetMerchant()) / 100; | 13560 v63 = v2 * (100 - v1->GetMerchant()) / 100; |
13561 if ( v63 < v2 / 3 ) | 13561 if ( v63 < v2 / 3 ) |
13562 v63 = v2 / 3; | 13562 v63 = v2 / 3; |
13563 strcpy(Dest, nullstring); | 13563 strcpy(Dest, ""); |
13564 strcpy(v46, nullstring); | 13564 strcpy(v46, ""); |
13565 strcpy(v47, nullstring); | 13565 strcpy(v47, ""); |
13566 strcpy(v48, nullstring); | 13566 strcpy(v48, ""); |
13567 strcpy(v49, nullstring); | 13567 strcpy(v49, ""); |
13568 if ( dword_F8B19C != 1 ) | 13568 if ( dword_F8B19C != 1 ) |
13569 { | 13569 { |
13570 if ( dword_F8B19C != 18 ) | 13570 if ( dword_F8B19C != 18 ) |
13571 { | 13571 { |
13572 if ( sub_4B1784_check_if_player_concious__draw_warning_else_mess_with_dlg_win() ) | 13572 if ( sub_4B1784_check_if_player_concious__draw_warning_else_mess_with_dlg_win() ) |
14149 } | 14149 } |
14150 return result; | 14150 return result; |
14151 } | 14151 } |
14152 v63 = 1; | 14152 v63 = 1; |
14153 v41 = pDialogueWindow->GetControl(pDialogueWindow->pStartingPosActiveItem); | 14153 v41 = pDialogueWindow->GetControl(pDialogueWindow->pStartingPosActiveItem); |
14154 strcpy(a1, nullstring); | 14154 strcpy(a1, ""); |
14155 v41->uHeight = 0; | 14155 v41->uHeight = 0; |
14156 v41->uY = 0; | 14156 v41->uY = 0; |
14157 if ( v1->_4B6FF9() ) | 14157 if ( v1->_4B6FF9() ) |
14158 { | 14158 { |
14159 sprintfex(a1, "%s %d %s", pGlobalTXT_LocalizationStrings[104], HIDWORD(v60), pGlobalTXT_LocalizationStrings[97]); | 14159 sprintfex(a1, "%s %d %s", pGlobalTXT_LocalizationStrings[104], HIDWORD(v60), pGlobalTXT_LocalizationStrings[97]); |
14610 v58 = (Player *)-1; | 14610 v58 = (Player *)-1; |
14611 v62 = 0; | 14611 v62 = 0; |
14612 v17 = LOBYTE(pFontArrus->uFontHeight) - 3; | 14612 v17 = LOBYTE(pFontArrus->uFontHeight) - 3; |
14613 v59 = pDialogueWindow; | 14613 v59 = pDialogueWindow; |
14614 v54 = v17; | 14614 v54 = v17; |
14615 strcpy(&Dest, nullstring); | 14615 strcpy(&Dest, ""); |
14616 sprintfex(pTmpBuf2, pGlobalTXT_LocalizationStrings[405], s1); | 14616 sprintfex(pTmpBuf2, pGlobalTXT_LocalizationStrings[405], s1); |
14617 v18 = pFontArrus->CalcTextHeight(pTmpBuf2, &v53, 0, 0); | 14617 v18 = pFontArrus->CalcTextHeight(pTmpBuf2, &v53, 0, 0); |
14618 v19 = v16->pNumPresenceButton; | 14618 v19 = v16->pNumPresenceButton; |
14619 v20 = v18 + v17 + 146; | 14619 v20 = v18 + v17 + 146; |
14620 v21 = v16->pStartingPosActiveItem; | 14620 v21 = v16->pStartingPosActiveItem; |
14706 { | 14706 { |
14707 v31 = a1; | 14707 v31 = a1; |
14708 ++v62; | 14708 ++v62; |
14709 ++s1; | 14709 ++s1; |
14710 a1 += 100; | 14710 a1 += 100; |
14711 strcpy(v31, nullstring); | 14711 strcpy(v31, ""); |
14712 if ( v24 ) | 14712 if ( v24 ) |
14713 { | 14713 { |
14714 v24->uW = 0; | 14714 v24->uW = 0; |
14715 v24->uHeight = 0; | 14715 v24->uHeight = 0; |
14716 v24->uY = 0; | 14716 v24->uY = 0; |
15111 int v6; // esi@5 | 15111 int v6; // esi@5 |
15112 unsigned int v7; // eax@7 | 15112 unsigned int v7; // eax@7 |
15113 int v8; // eax@10 | 15113 int v8; // eax@10 |
15114 SpriteFrame *v9; // eax@16 | 15114 SpriteFrame *v9; // eax@16 |
15115 SpriteFrame *v10; // ebx@18 | 15115 SpriteFrame *v10; // ebx@18 |
15116 int *v11; // eax@18 | 15116 //int *v11; // eax@18 |
15117 int v12; // ecx@28 | 15117 int v12; // ecx@28 |
15118 //IndoorCameraD3D **v14; // eax@36 | 15118 //IndoorCameraD3D **v14; // eax@36 |
15119 double v15; // st7@36 | 15119 double v15; // st7@36 |
15120 float v16; // eax@36 | 15120 float v16; // eax@36 |
15121 //double v17; // ST30_8@36 | 15121 //double v17; // ST30_8@36 |
15191 v9 = pSpriteFrameTable->GetFrameBy_x(v31, v8); | 15191 v9 = pSpriteFrameTable->GetFrameBy_x(v31, v8); |
15192 else | 15192 else |
15193 v9 = pSpriteFrameTable->GetFrame(v31, v8); | 15193 v9 = pSpriteFrameTable->GetFrame(v31, v8); |
15194 v41 = 0; | 15194 v41 = 0; |
15195 v10 = v9; | 15195 v10 = v9; |
15196 v11 = (int *)v9->uFlags; | 15196 //v11 = (int *)v9->uFlags; |
15197 if ( (unsigned __int8)v11 & 2 ) | 15197 if (v9->uFlags & 2) |
15198 v41 = 2; | 15198 v41 = 2; |
15199 if ( (unsigned int)v11 & 0x40000 ) | 15199 if (v9->uFlags & 0x40000) |
15200 v41 |= 0x40u; | 15200 v41 |= 0x40u; |
15201 if ( (unsigned int)v11 & 0x20000 ) | 15201 if (v9->uFlags & 0x20000) |
15202 LOBYTE(v41) = v41 | 0x80; | 15202 LOBYTE(v41) = v41 | 0x80; |
15203 v0 = (RenderBillboard *)(256 << v6); | 15203 v0 = (RenderBillboard *)(256 << v6); |
15204 if ( (unsigned int)v0 & (unsigned int)v11 ) | 15204 if ( (unsigned int)v0 & v9->uFlags) |
15205 v41 |= 4u; | 15205 v41 |= 4u; |
15206 if ( v10->uGlowRadius ) | 15206 if ( v10->uGlowRadius ) |
15207 { | 15207 { |
15208 LOBYTE(v11) = byte_4E94D3; | 15208 //LOBYTE(v11) = byte_4E94D3; |
15209 pMobileLightsStack->AddLight( | 15209 pMobileLightsStack->AddLight( |
15210 a1a, | 15210 a1a, |
15211 a2, | 15211 a2, |
15212 a3, | 15212 a3, |
15213 a5, | 15213 a5, |
15214 v10->uGlowRadius, | 15214 v10->uGlowRadius, |
15215 0xFFu, | 15215 0xFFu, |
15216 0xFFu, | 15216 0xFFu, |
15217 0xFFu, | 15217 0xFFu, |
15218 v11); | 15218 byte_4E94D3); |
15219 } | 15219 } |
15220 v12 = 0; | 15220 v12 = 0; |
15221 if ( pStru170->uNumVisibleNotEmptySectors <= 0 ) | 15221 if ( pStru170->uNumVisibleNotEmptySectors <= 0 ) |
15222 continue; | 15222 continue; |
15223 while (pStru170->pVisibleSectorIDs_toDrawDecorsActorsEtcFrom[v12] != p->uSectorID) | 15223 while (pStru170->pVisibleSectorIDs_toDrawDecorsActorsEtcFrom[v12] != p->uSectorID) |
15250 a5a = (unsigned __int64)(v10->scale * (signed __int64)v21) >> 16; | 15250 a5a = (unsigned __int64)(v10->scale * (signed __int64)v21) >> 16; |
15251 } | 15251 } |
15252 else | 15252 else |
15253 { | 15253 { |
15254 //v14 = &pGame->pIndoorCameraD3D; | 15254 //v14 = &pGame->pIndoorCameraD3D; |
15255 v0->flt_8 = pGame->pIndoorCameraD3D->flt_D0; | 15255 v0->fov_x = pGame->pIndoorCameraD3D->fov_x; |
15256 v15 = pGame->pIndoorCameraD3D->flt_D4; | 15256 v15 = pGame->pIndoorCameraD3D->fov_y; |
15257 v16 = v0->flt_8; | 15257 v16 = v0->fov_x; |
15258 v0->flt_C = v15; | 15258 v0->fov_y = v15; |
15259 //v17 = v16 + 6.7553994e15; | 15259 //v17 = v16 + 6.7553994e15; |
15260 LODWORD(v18) = 0; | 15260 LODWORD(v18) = 0; |
15261 HIDWORD(v18) = floorf(v16 + 0.5f); | 15261 HIDWORD(v18) = floorf(v16 + 0.5f); |
15262 v19 = v18 / x; | 15262 v19 = v18 / x; |
15263 v0->field_0 = (unsigned __int64)(v10->scale * v18 / x) >> 16; | 15263 v0->field_0 = (unsigned __int64)(v10->scale * v18 / x) >> 16; |
15629 | 15629 |
15630 v1 = uHouseID; | 15630 v1 = uHouseID; |
15631 v25 = uHouseID; | 15631 v25 = uHouseID; |
15632 GameUI_StatusBar_TimedString[0] = 0; | 15632 GameUI_StatusBar_TimedString[0] = 0; |
15633 pStatusBarString[0] = 0; | 15633 pStatusBarString[0] = 0; |
15634 ShowStatusBarString(nullstring, 2u); | 15634 ShowStatusBarString("", 2u); |
15635 if ( pMessageQueue_50CBD0->uNumMessages ) | 15635 if ( pMessageQueue_50CBD0->uNumMessages ) |
15636 pMessageQueue_50CBD0->uNumMessages = pMessageQueue_50CBD0->pMessages[0].field_8 != 0; | 15636 pMessageQueue_50CBD0->uNumMessages = pMessageQueue_50CBD0->pMessages[0].field_8 != 0; |
15637 viewparams->bRedrawGameUI = 1; | 15637 viewparams->bRedrawGameUI = 1; |
15638 uDialogueType = 0; | 15638 uDialogueType = 0; |
15639 pKeyActionMap->_459ED1(3); | 15639 pKeyActionMap->_459ED1(3); |