Mercurial > mm7
comparison Render.cpp @ 992:3a3ab572eff5
Merge
author | Nomad |
---|---|
date | Mon, 13 May 2013 17:07:52 +0200 |
parents | c5d8ea1e6ccb 087a9af8e0ec |
children | c45d51b3f4f4 |
comparison
equal
deleted
inserted
replaced
991:c5d8ea1e6ccb | 992:3a3ab572eff5 |
---|---|
872 int v6; // esi@3 | 872 int v6; // esi@3 |
873 unsigned int v7; // eax@3 | 873 unsigned int v7; // eax@3 |
874 int v8; // eax@4 | 874 int v8; // eax@4 |
875 unsigned int v9; // eax@6 | 875 unsigned int v9; // eax@6 |
876 int v10; // eax@7 | 876 int v10; // eax@7 |
877 int v11; // ebx@9 | 877 //int v11; // ebx@9 |
878 int v12; // edi@9 | 878 //int v12; // edi@9 |
879 int v13; // eax@21 | 879 int v13; // eax@21 |
880 int v14; // eax@31 | 880 int v14; // eax@31 |
881 int v15; // edi@33 | 881 int v15; // edi@33 |
882 int v16; // eax@34 | 882 int v16; // eax@34 |
883 int v17; // edx@34 | 883 int v17; // edx@34 |
884 int v18; // ebx@34 | 884 int v18; // ebx@34 |
885 int v19; // eax@36 | 885 int v19; // eax@36 |
886 int v20; // eax@39 | 886 int v20; // eax@39 |
887 int v21; // ecx@43 | 887 int v21; // ecx@43 |
888 char v22; // zf@44 | 888 //char v22; // zf@44 |
889 int v23; // ecx@47 | 889 int v23; // ecx@47 |
890 int v24; // edi@52 | 890 //int v24; // edi@52 |
891 int v25; // eax@54 | 891 int v25; // eax@54 |
892 int v26; // ecx@54 | 892 int v26; // ecx@54 |
893 int v27; // eax@56 | 893 int v27; // eax@56 |
894 int v28; // edx@60 | 894 int v28; // edx@60 |
895 int v29; // ecx@61 | 895 int v29; // ecx@61 |
930 int v64; // ecx@157 | 930 int v64; // ecx@157 |
931 int v65; // eax@159 | 931 int v65; // eax@159 |
932 int v66; // edx@163 | 932 int v66; // edx@163 |
933 int v67; // ecx@164 | 933 int v67; // ecx@164 |
934 int v68; // ecx@167 | 934 int v68; // ecx@167 |
935 int v69; // eax@173 | 935 //int v69; // eax@173 |
936 int v70; // edi@178 | 936 int v70; // edi@178 |
937 int v71; // eax@178 | 937 //int v71; // eax@178 |
938 int v72; // ecx@178 | 938 //int v72; // ecx@178 |
939 int x; // ebx@180 | 939 //int x; // ebx@180 |
940 int v74; // eax@182 | 940 //int v74; // eax@182 |
941 int v75; // eax@184 | 941 int v75; // eax@184 |
942 IndoorCameraD3D *pIndoorCameraD3D_3; // ecx@184 | 942 IndoorCameraD3D *pIndoorCameraD3D_3; // ecx@184 |
943 int uStartZ; // ecx@184 | 943 int uStartZ; // ecx@184 |
944 int v79; // ebx@185 | 944 int v79; // ebx@185 |
945 int v127; // esi@185 | 945 int v127; // esi@185 |
946 int v86; // edi@196 | 946 int v86; // edi@196 |
947 int v87; // eax@196 | 947 //int v87; // eax@196 |
948 int v88; // ecx@196 | 948 //int v88; // ecx@196 |
949 int v89; // eax@198 | 949 //int v89; // eax@198 |
950 int v90; // ecx@200 | 950 //int v90; // ecx@200 |
951 int v92; // ebx@203 | 951 int v92; // ebx@203 |
952 int v93; // ST08_4@204 | 952 //int v93; // ST08_4@204 |
953 int v97; // ST08_4@204 | 953 int v97; // ST08_4@204 |
954 float result; // eax@212 | 954 float result; // eax@212 |
955 struct | 955 //struct |
956 { | 956 //{ |
957 char v102[4]; // [sp+Ch] [bp-68h]@191 | 957 int v106; // [sp+Ch] [bp-68h]@191 |
958 __int16 v103; // [sp+10h] [bp-64h]@190 | 958 int v103; // [sp+10h] [bp-64h]@190 |
959 __int16 v104; // [sp+12h] [bp-62h]@190 | 959 int v104; // [sp+12h] [bp-62h]@190 |
960 } v102; | 960 //} v102; |
961 int v105; // [sp+1Ch] [bp-58h]@1 | 961 int v105; // [sp+1Ch] [bp-58h]@1 |
962 int v106; // [sp+20h] [bp-54h]@3 | 962 int v107; // [sp+20h] [bp-54h]@3 |
963 int uEndZ; // [sp+24h] [bp-50h]@3 | 963 int uEndZ; // [sp+24h] [bp-50h]@3 |
964 int v108; // [sp+28h] [bp-4Ch]@9 | 964 int v108; // [sp+28h] [bp-4Ch]@9 |
965 int v109; // [sp+2Ch] [bp-48h]@9 | 965 int v109; // [sp+2Ch] [bp-48h]@9 |
966 int v110; // [sp+30h] [bp-44h]@9 | 966 int v110; // [sp+30h] [bp-44h]@9 |
967 int v111; // [sp+34h] [bp-40h]@3 | 967 int v111; // [sp+34h] [bp-40h]@3 |
968 int v112; // [sp+38h] [bp-3Ch]@6 | 968 int v112; // [sp+38h] [bp-3Ch]@6 |
969 IndoorCameraD3D *pIndoorCameraD3D_4; // [sp+3Ch] [bp-38h]@9 | 969 IndoorCameraD3D *pIndoorCameraD3D_4; // [sp+3Ch] [bp-38h]@9 |
970 int v114; // [sp+40h] [bp-34h]@9 | 970 int v114; // [sp+40h] [bp-34h]@9 |
971 int v115; // [sp+44h] [bp-30h]@9 | 971 int v115; // [sp+44h] [bp-30h]@9 |
972 int v116; // [sp+48h] [bp-2Ch]@9 | 972 int v116; // [sp+48h] [bp-2Ch]@9 |
973 int v117; // [sp+4Ch] [bp-28h]@9 | 973 //int v117; // [sp+4Ch] [bp-28h]@9 |
974 int v118; // [sp+50h] [bp-24h]@9 | 974 int v118; // [sp+50h] [bp-24h]@9 |
975 int v119; // [sp+54h] [bp-20h]@1 | 975 int v119; // [sp+54h] [bp-20h]@1 |
976 int v120; // [sp+58h] [bp-1Ch]@1 | 976 int v120; // [sp+58h] [bp-1Ch]@1 |
977 int i; // [sp+5Ch] [bp-18h]@1 | 977 int i; // [sp+5Ch] [bp-18h]@1 |
978 int v122; // [sp+60h] [bp-14h]@1 | 978 int v122; // [sp+60h] [bp-14h]@1 |
1012 if ( (v5 & stru_5C6E00->uPiMask) >= stru_5C6E00->uIntegerHalfPi ) | 1012 if ( (v5 & stru_5C6E00->uPiMask) >= stru_5C6E00->uIntegerHalfPi ) |
1013 v10 = -stru_5C6E00->pTanTable[stru_5C6E00->uIntegerPi - v9]; | 1013 v10 = -stru_5C6E00->pTanTable[stru_5C6E00->uIntegerPi - v9]; |
1014 else | 1014 else |
1015 v10 = stru_5C6E00->pTanTable[v9]; | 1015 v10 = stru_5C6E00->pTanTable[v9]; |
1016 v108 = abs(v10); | 1016 v108 = abs(v10); |
1017 v11 = v124; | 1017 //v11 = v124; |
1018 v12 = v123; | 1018 //v12 = v123; |
1019 v114 = 0; | 1019 v114 = 0; |
1020 v115 = 0; | 1020 v115 = 0; |
1021 pIndoorCameraD3D_4 = 0; | 1021 pIndoorCameraD3D_4 = 0; |
1022 v125 = 0; | 1022 v125 = 0; |
1023 v110 = (v106 >= 0 ? 1: -1);//2 * (v106 >= 0) - 1; | 1023 v110 = (v106 >= 0 ? 1: -1);//2 * (v106 >= 0) - 1; |
1024 v126 = v124; | 1024 v126 = v124; |
1025 v118 = v123; | 1025 v118 = v123; |
1026 v109 = (uEndZ >= 0 ? 1: -1);//2 * (v107 >= 0) - 1; | 1026 v109 = (uEndZ >= 0 ? 1: -1);//2 * (v107 >= 0) - 1; |
1027 uEndZ = (v111 >= 0 ? 1: -1);//2 * (v111 >= 0) - 1; | 1027 uEndZ = (v111 >= 0 ? 1: -1);//2 * (v111 >= 0) - 1; |
1028 terrain_76E1C8[0] = 65535; | 1028 terrain_76E1C8[0] = 65535; |
1029 //v116 = 1; | 1029 uint _i = 1; |
1030 v106 = (v6 >= 0 ? 1: -1);//2 * (v6 >= 0) - 1; | 1030 v106 = (v6 >= 0 ? 1: -1);//2 * (v6 >= 0) - 1; |
1031 //v117 = 1; | 1031 uint j = 1; |
1032 terrain_76E3C8[0] = 65535; | 1032 terrain_76E3C8[0] = 65535; |
1033 terrain_76DDC8[0] = 65535; | 1033 terrain_76DDC8[0] = 65535; |
1034 terrain_76DFC8[0] = 65535; | 1034 terrain_76DFC8[0] = 65535; |
1035 for( v116=1; v116 < 128; v116++) | 1035 for( _i = 1; _i < 128; _i++) |
1036 { | 1036 { |
1037 if ( v112 >= 0x10000 ) | 1037 if ( v112 >= 0x10000 ) |
1038 { | 1038 { |
1039 int v1, v2; | 1039 int v1, v2; |
1040 /*v111 = 4294967296i64 / v112; | 1040 /*v111 = 4294967296i64 / v112; |
1046 } | 1046 } |
1047 v12 += v109;*/ | 1047 v12 += v109;*/ |
1048 } | 1048 } |
1049 else | 1049 else |
1050 { | 1050 { |
1051 v11 += v110; | 1051 v124 += v110; |
1052 v115 += v112; | 1052 v115 += v112; |
1053 if ( v112 + v115 >= 65536 ) | 1053 if ( v112 + v115 >= 65536 ) |
1054 { | 1054 { |
1055 v12 += v109; | 1055 v123 += v109; |
1056 v115 = (unsigned __int16)v115; | 1056 v115 = (unsigned __int16)v115; |
1057 } | 1057 } |
1058 } | 1058 } |
1059 if ( v11 < i || v11 > v120 || v12 < v122 || v12 > v119 ) | 1059 if ( v124 < _i || v124 > v120 || v123 < v122 || v123 > v119 ) |
1060 break; | 1060 break; |
1061 //v13 = v116++; | 1061 //v13 = v116++; |
1062 terrain_76E3C8[v116] = v11; | 1062 terrain_76E3C8[_i] = v124; |
1063 terrain_76E1C8[v116] = v12; | 1063 terrain_76E1C8[_i] = v123; |
1064 } | 1064 } |
1065 | 1065 |
1066 for( v117=1; v117 < 128; v117++ ) | 1066 for( j = 1; j < 128; j++ ) |
1067 { | 1067 { |
1068 if ( v108 >= 65536 ) | 1068 if ( v108 >= 65536 ) |
1069 { | 1069 { |
1070 v111 = 4294967296i64 / v108; | 1070 v111 = 4294967296i64 / v108; |
1071 v114 += v111;// | 1071 v114 += v111;// |
1086 v125 = (unsigned __int16)v125; | 1086 v125 = (unsigned __int16)v125; |
1087 } | 1087 } |
1088 } | 1088 } |
1089 //if ( v117 >= 128 ) | 1089 //if ( v117 >= 128 ) |
1090 //break; | 1090 //break; |
1091 if ( v126 < i ) | 1091 if ( v126 < _i ) |
1092 break; | 1092 break; |
1093 if ( v126 > v120 ) | 1093 if ( v126 > v120 ) |
1094 break; | 1094 break; |
1095 v14 = v118; | 1095 v14 = v118; |
1096 if ( v118 < v122 ) | 1096 if ( v118 < v122 ) |
1097 break; | 1097 break; |
1098 if ( v118 > v119 ) | 1098 if ( v118 > v119 ) |
1099 break; | 1099 break; |
1100 terrain_76DFC8[v117] = v126; | 1100 terrain_76DFC8[j] = v126; |
1101 terrain_76DDC8[v117] = v14; | 1101 terrain_76DDC8[j] = v14; |
1102 } | 1102 } |
1103 v16 = 0; | 1103 v16 = 0; |
1104 v126 = 0; | 1104 v126 = 0; |
1105 v17 = v117 - 1; | 1105 v17 = j - 1; |
1106 v18 = v116 - 1; | 1106 v18 = _i - 1; |
1107 switch ( v105 ) | 1107 switch ( v105 ) |
1108 { | 1108 { |
1109 case 0: | 1109 case 0: |
1110 case 7: | 1110 case 7: |
1111 { | 1111 { |
1112 v116 = terrain_76DFC8[v17]; | 1112 //v116 = terrain_76DFC8[v17]; |
1113 if ( v120 > v116 ) | 1113 if ( v120 > terrain_76DFC8[v17] ) |
1114 { | 1114 { |
1115 v125 = v120; | 1115 v125 = v120; |
1116 memset32(terrain_76D9C8, v119 + 1, 4 * (v120 - v116 + 1)); | 1116 memset32(terrain_76D9C8, v119 + 1, 4 * (v120 - terrain_76DFC8[v17] + 1)); |
1117 v19 = v120; | 1117 v19 = v120; |
1118 do | 1118 do |
1119 terrain_76DBC8[v126++] = v19--; | 1119 terrain_76DBC8[v126++] = v19--; |
1120 while ( v19 >= v116 ); | 1120 while ( v19 >= terrain_76DFC8[v17] ); |
1121 if ( terrain_76DFC8[v17] == terrain_76DDC8[v17 + 127] ) | 1121 if ( terrain_76DFC8[v17] == terrain_76DDC8[v17 + 127] ) |
1122 { | 1122 { |
1123 do | 1123 do |
1124 v20 = terrain_76DDC8[v17-- -1]; | 1124 v20 = terrain_76DDC8[v17-- -1]; |
1125 while ( v20 == terrain_76DDC8[v17 -1] ); | 1125 while ( v20 == terrain_76DDC8[v17 -1] ); |
1130 if ( v17 < 0 ) | 1130 if ( v17 < 0 ) |
1131 v17 = 0; | 1131 v17 = 0; |
1132 v21 = terrain_76DFC8[v17]; | 1132 v21 = terrain_76DFC8[v17]; |
1133 while ( 1 ) | 1133 while ( 1 ) |
1134 { | 1134 { |
1135 v125 = v21; | 1135 v125 = terrain_76DFC8[v17]; |
1136 if ( v21 < v124 ) | 1136 if ( v21 < v124 ) |
1137 break; | 1137 break; |
1138 terrain_76DBC8[v16] = v21; | 1138 terrain_76DBC8[v16] = v21; |
1139 v22 = terrain_76DDC8[v17] == 65535; | 1139 //v22 = terrain_76DDC8[v17] == 65535; |
1140 terrain_76D9C8[v16] = terrain_76DDC8[v17] + 1; | 1140 terrain_76D9C8[v16] = terrain_76DDC8[v17] + 1; |
1141 if ( v22 ) | 1141 if ( terrain_76DDC8[v17] == 65535 ) |
1142 { | 1142 { |
1143 terrain_76D9C8[v16] = v123 + 1; | 1143 terrain_76D9C8[v16] = v123 + 1; |
1144 break; | 1144 break; |
1145 } | 1145 } |
1146 if ( !v17 ) | 1146 if ( !v17 ) |
1154 --v17; | 1154 --v17; |
1155 v21 = v125 - 1; | 1155 v21 = v125 - 1; |
1156 ++v16; | 1156 ++v16; |
1157 } | 1157 } |
1158 v16 = 0; | 1158 v16 = 0; |
1159 v24 = terrain_76E3C8[v18]; | 1159 //v24 = terrain_76E3C8[v18]; |
1160 v126 = 0; | 1160 v126 = 0; |
1161 if ( v120 > v24 ) | 1161 if ( v120 > terrain_76E3C8[v18] ) |
1162 { | 1162 { |
1163 v125 = v120; | 1163 v125 = v120; |
1164 memset32(terrain_76D5C8, v122, 4 * (v120 - v24 + 1)); | 1164 memset32(terrain_76D5C8, v122, 4 * (v120 - terrain_76E3C8[v18] + 1)); |
1165 do | 1165 do |
1166 { | 1166 { |
1167 v25 = v126; | 1167 v25 = v126; |
1168 v26 = v125--; | 1168 v26 = v125--; |
1169 ++v126; | 1169 ++v126; |
1208 break; | 1208 break; |
1209 } | 1209 } |
1210 case 1: | 1210 case 1: |
1211 case 2: | 1211 case 2: |
1212 { | 1212 { |
1213 v116 = terrain_76DDC8[v17]; | 1213 //v116 = terrain_76DDC8[v17]; |
1214 if ( v122 < v116 ) | 1214 if ( v122 < terrain_76DDC8[v17] ) |
1215 { | 1215 { |
1216 v106 = v122; | 1216 v106 = v122; |
1217 memset32(terrain_76DBC8, v120 + 1, 4 * (v116 - v122 + 1)); | 1217 memset32(terrain_76DBC8, v120 + 1, 4 * (terrain_76DDC8[v17] - v122 + 1)); |
1218 v32 = v122; | 1218 v32 = v122; |
1219 do | 1219 do |
1220 { | 1220 { |
1221 v33 = v126++; | 1221 v33 = v126++; |
1222 terrain_76D9C8[v33] = v32++; | 1222 terrain_76D9C8[v33] = v32++; |
1223 } | 1223 } |
1224 while ( v32 <= v116 ); | 1224 while ( v32 <= terrain_76DDC8[v17] ); |
1225 if ( terrain_76DDC8[v17] == terrain_76DBC8[v17 -1] ) | 1225 if ( terrain_76DDC8[v17] == terrain_76DBC8[v17 -1] ) |
1226 { | 1226 { |
1227 do | 1227 do |
1228 v34 = terrain_76DBC8[v17-- -1]; | 1228 v34 = terrain_76DBC8[v17-- -1]; |
1229 while ( v34 == terrain_76DBC8[v17 -1] ); | 1229 while ( v34 == terrain_76DBC8[v17 -1] ); |
1235 v17 = 0; | 1235 v17 = 0; |
1236 v35 = terrain_76DDC8[v17]; | 1236 v35 = terrain_76DDC8[v17]; |
1237 v125 = terrain_76DDC8[v17]; | 1237 v125 = terrain_76DDC8[v17]; |
1238 while ( v35 <= v123 ) | 1238 while ( v35 <= v123 ) |
1239 { | 1239 { |
1240 v22 = terrain_76DFC8[v17] == 65535; | 1240 //v22 = terrain_76DFC8[v17] == 65535; |
1241 terrain_76DBC8[v16] = terrain_76DFC8[v17] + 1; | 1241 terrain_76DBC8[v16] = terrain_76DFC8[v17] + 1; |
1242 terrain_76D9C8[v16] = v125; | 1242 terrain_76D9C8[v16] = v125; |
1243 if ( v22 ) | 1243 if ( terrain_76DFC8[v17] == 65535 ) |
1244 { | 1244 { |
1245 terrain_76DBC8[v16] = v124 + 1; | 1245 terrain_76DBC8[v16] = v124 + 1; |
1246 break; | 1246 break; |
1247 } | 1247 } |
1248 if ( !v17 ) | 1248 if ( !v17 ) |
1311 break; | 1311 break; |
1312 } | 1312 } |
1313 case 5: | 1313 case 5: |
1314 case 6: | 1314 case 6: |
1315 { | 1315 { |
1316 v116 = terrain_76DDC8[v17]; | 1316 //v116 = terrain_76DDC8[v17]; |
1317 if ( v119 > v116 ) | 1317 if ( v119 > terrain_76DDC8[v17] ) |
1318 { | 1318 { |
1319 v106 = v119; | 1319 v106 = v119; |
1320 memset32(terrain_76DBC8, i, 4 * (v119 - v116 + 1)); | 1320 memset32(terrain_76DBC8, i, 4 * (v119 - terrain_76DDC8[v17] + 1)); |
1321 v45 = v119; | 1321 v45 = v119; |
1322 do | 1322 do |
1323 terrain_76D9C8[v126++] = v45--; | 1323 terrain_76D9C8[v126++] = v45--; |
1324 while ( v45 >= v116 ); | 1324 while ( v45 >= terrain_76DDC8[v17] ); |
1325 if ( terrain_76DDC8[v17] == terrain_76DBC8[v17 -1] ) | 1325 if ( terrain_76DDC8[v17] == terrain_76DBC8[v17 -1] ) |
1326 { | 1326 { |
1327 do | 1327 do |
1328 v46 = terrain_76DBC8[v17-- -1]; | 1328 v46 = terrain_76DBC8[v17-- -1]; |
1329 while ( v46 == terrain_76DBC8[v17 -1] ); | 1329 while ( v46 == terrain_76DBC8[v17 -1] ); |
1335 v17 = 0; | 1335 v17 = 0; |
1336 v47 = terrain_76DDC8[v17]; | 1336 v47 = terrain_76DDC8[v17]; |
1337 v125 = terrain_76DDC8[v17]; | 1337 v125 = terrain_76DDC8[v17]; |
1338 while ( v47 >= v123 ) | 1338 while ( v47 >= v123 ) |
1339 { | 1339 { |
1340 v22 = terrain_76DFC8[v17] == 65535; | 1340 //v22 = terrain_76DFC8[v17] == 65535; |
1341 terrain_76DBC8[v16] = terrain_76DFC8[v17]; | 1341 terrain_76DBC8[v16] = terrain_76DFC8[v17]; |
1342 terrain_76D9C8[v16] = v125; | 1342 terrain_76D9C8[v16] = v125; |
1343 if ( v22 ) | 1343 if ( terrain_76DFC8[v17] == 65535 ) |
1344 { | 1344 { |
1345 terrain_76DBC8[v16] = v124; | 1345 terrain_76DBC8[v16] = v124; |
1346 break; | 1346 break; |
1347 } | 1347 } |
1348 if ( !v17 ) | 1348 if ( !v17 ) |
1410 break; | 1410 break; |
1411 } | 1411 } |
1412 case 3: | 1412 case 3: |
1413 case 4: | 1413 case 4: |
1414 { | 1414 { |
1415 v116 = terrain_76DFC8[v17]; | 1415 //v116 = terrain_76DFC8[v17]; |
1416 if ( i < v116 ) | 1416 if ( i < terrain_76DFC8[v17] ) |
1417 { | 1417 { |
1418 v106 = i; | 1418 v106 = i; |
1419 memset32(terrain_76D9C8, v122, 4 * (v116 - i + 1)); | 1419 memset32(terrain_76D9C8, v122, 4 * (terrain_76DFC8[v17] - i + 1)); |
1420 v56 = i; | 1420 v56 = i; |
1421 do | 1421 do |
1422 { | 1422 { |
1423 v57 = v126++; | 1423 v57 = v126++; |
1424 terrain_76DBC8[v57] = v56++; | 1424 terrain_76DBC8[v57] = v56++; |
1425 } | 1425 } |
1426 while ( v56 <= v116 ); | 1426 while ( v56 <= terrain_76DFC8[v17] ); |
1427 if ( terrain_76DFC8[v17] == terrain_76DDC8[v17 -1] ) | 1427 if ( terrain_76DFC8[v17] == terrain_76DDC8[v17 -1] ) |
1428 { | 1428 { |
1429 do | 1429 do |
1430 v58 = terrain_76DDC8[v17-- -1]; | 1430 v58 = terrain_76DDC8[v17-- -1]; |
1431 while ( v58 == terrain_76DDC8[v17 -1] ); | 1431 while ( v58 == terrain_76DDC8[v17 -1] ); |
1492 while ( v66 <= v124 ) | 1492 while ( v66 <= v124 ) |
1493 { | 1493 { |
1494 v67 = terrain_76E1C8[v18]; | 1494 v67 = terrain_76E1C8[v18]; |
1495 terrain_76D7C8[v16] = v66; | 1495 terrain_76D7C8[v16] = v66; |
1496 terrain_76D5C8[v16] = v67 + 1; | 1496 terrain_76D5C8[v16] = v67 + 1; |
1497 if ( v67 == 65535 ) | 1497 if ( terrain_76E1C8[v18] == 65535 ) |
1498 { | 1498 { |
1499 v31 = v123 + 1; | 1499 v31 = v123 + 1; |
1500 terrain_76D5C8[v16] = v31; | 1500 terrain_76D5C8[v16] = v31; |
1501 break; | 1501 break; |
1502 } | 1502 } |
1515 break; | 1515 break; |
1516 } | 1516 } |
1517 default: | 1517 default: |
1518 break; | 1518 break; |
1519 } | 1519 } |
1520 v69 = v16 - 1; | 1520 //v69 = v16 - 1; |
1521 ptr_801A08 = pVerticesSR_806210; | 1521 ptr_801A08 = pVerticesSR_806210; |
1522 ptr_801A04 = pVerticesSR_801A10; | 1522 ptr_801A04 = pVerticesSR_801A10; |
1523 v126 = v69; | 1523 //v126 = v69; |
1524 | |
1524 if ( v105 && v105 != 7 && v105 != 3 && v105 != 4 )//блок | 1525 if ( v105 && v105 != 7 && v105 != 3 && v105 != 4 )//блок |
1525 { | 1526 { |
1526 for ( i = v69; i >= 1; --i ) | 1527 for ( i = v16 - 1; i >= 1; --i ) |
1527 { | 1528 { |
1528 //v70 = i; | 1529 //v70 = i; |
1529 v71 = terrain_76D7C8[i];//88 | 1530 //v71 = terrain_76D7C8[i];//88 |
1530 v72 = terrain_76DBC8[i];//0 | 1531 //v72 = terrain_76DBC8[i];//0 |
1531 if ( v71 < v72 )//swap | 1532 if ( terrain_76D7C8[i] < terrain_76DBC8[i] )//swap |
1532 { | 1533 { |
1533 terrain_76DBC8[i] = v71; | 1534 terrain_76DBC8[i] = terrain_76D7C8[i]; |
1534 terrain_76D7C8[i] = v72; | 1535 terrain_76D7C8[i] = terrain_76DBC8[i]; |
1535 } | 1536 } |
1536 x = terrain_76DBC8[i];//0 | 1537 //x = terrain_76DBC8[i];//0 |
1537 v111 = 0; | 1538 v111 = 0; |
1538 if ( x <= 0 ) | 1539 if ( terrain_76DBC8[i] <= 0 ) |
1539 x = -x; | 1540 terrain_76DBC8[i] = -terrain_76DBC8[i]; |
1540 v74 = terrain_76D7C8[i]; | 1541 //v74 = terrain_76D7C8[i]; |
1541 if ( v74 <= 0 ) | 1542 if ( terrain_76D7C8[i] <= 0 ) |
1542 v74 = -v74; | 1543 terrain_76D7C8[i] = -terrain_76D7C8[i]; |
1543 v75 = v74 + 2; | 1544 v75 = terrain_76D7C8[i] + 2; |
1544 //pIndoorCameraD3D_3 = pGame->pIndoorCameraD3D; | 1545 //pIndoorCameraD3D_3 = pGame->pIndoorCameraD3D; |
1545 uEndZ = v75; | 1546 uEndZ = v75; |
1546 //pIndoorCameraD3D_4 = pIndoorCameraD3D_3; | 1547 //pIndoorCameraD3D_4 = pIndoorCameraD3D_3; |
1547 uStartZ = x - 2; | 1548 uStartZ = terrain_76DBC8[i] - 2; |
1548 if ( x - 2 < v75 ) | 1549 if ( terrain_76DBC8[i] - 2 < v75 ) |
1549 { | 1550 { |
1550 v127 = 0; | 1551 v127 = 0; |
1551 //v79 = (v73 - 66) << 9; | 1552 //v79 = (v73 - 66) << 9; |
1552 //v116 = v77; | 1553 //v116 = v77; |
1553 //pHeight = v79; | 1554 //pHeight = v79; |
1554 v111 = v75 - uStartZ; | 1555 v111 = v75 - uStartZ; |
1555 for (int z = uStartZ; z < uEndZ; ++z) | 1556 for (int z = uStartZ; z < uEndZ; ++z) |
1556 { | 1557 { |
1557 ptr_801A08[v127].vWorldPosition.x = (-64 + x) * 512;//pTerrainVertices[z * 128 + x].vWorldPosition.x = (-64 + (signed)x) * 512; | 1558 ptr_801A08[v127].vWorldPosition.x = (-64 + terrain_76DBC8[i]) * 512;//pTerrainVertices[z * 128 + x].vWorldPosition.x = (-64 + (signed)x) * 512; |
1558 ptr_801A08[v127].vWorldPosition.y = (64 - terrain_76D9C8[i]) * 512; | 1559 ptr_801A08[v127].vWorldPosition.y = (64 - terrain_76D9C8[i]) * 512; |
1559 ptr_801A08[v127].vWorldPosition.z = pOutdoor->GetHeightOnTerrain( z, terrain_76D9C8[i]); | 1560 ptr_801A08[v127].vWorldPosition.z = pOutdoor->GetHeightOnTerrain( z, terrain_76D9C8[i]); |
1560 ptr_801A04[v127].vWorldPosition.x = (-64 + x) * 512; | 1561 ptr_801A04[v127].vWorldPosition.x = (-64 + terrain_76DBC8[i]) * 512; |
1561 ptr_801A04[v127].vWorldPosition.y = (63 - terrain_76D9C8[i]) * 512; | 1562 ptr_801A04[v127].vWorldPosition.y = (63 - terrain_76D9C8[i]) * 512; |
1562 ptr_801A04[v127].vWorldPosition.z = pOutdoor->GetHeightOnTerrain( z, terrain_76D9C8[i] + 1); | 1563 ptr_801A04[v127].vWorldPosition.z = pOutdoor->GetHeightOnTerrain( z, terrain_76D9C8[i] + 1); |
1563 if ( !byte_4D864C || !(pGame->uFlags & 0x80) ) | 1564 if ( !byte_4D864C || !(pGame->uFlags & 0x80) ) |
1564 { | 1565 { |
1565 pIndoorCameraD3D_4->ViewTransform(&ptr_801A08[v127], 1); | 1566 pIndoorCameraD3D_4->ViewTransform(&ptr_801A08[v127], 1); |
1572 //++v116; | 1573 //++v116; |
1573 //pHeight = v79; | 1574 //pHeight = v79; |
1574 } | 1575 } |
1575 //while ( v116 < v107 ); | 1576 //while ( v116 < v107 ); |
1576 } | 1577 } |
1577 v102.v103 = abs((int)pIndoorCamera->uMapGridCellZ - terrain_76D9C8[i]); | 1578 v103 = abs((int)pIndoorCamera->uMapGridCellZ - terrain_76D9C8[i]); |
1578 v102.v104 = abs((int)pIndoorCamera->uMapGridCellX - terrain_76DBC8[i]); | 1579 v104 = abs((int)pIndoorCamera->uMapGridCellX - terrain_76DBC8[i]); |
1579 if ( pRenderer->pRenderD3D )//Ritor1: do comment to test | 1580 if ( pRenderer->pRenderD3D )//Ritor1: do comment to test |
1580 Render::RenderTerrainD3D();//Render::DrawTerrainD3D(v111, 0, (int)&v102); | 1581 Render::DrawTerrainD3D(v111, 0, v103, v104);//Render::RenderTerrainD3D(); |
1581 else | 1582 else |
1582 Render::DrawTerrainSW(v111, 0, (int)&v102); | 1583 Render::DrawTerrainSW(v111, 0, v103, v104); |
1583 } | 1584 } |
1584 } | 1585 } |
1585 /* else | 1586 else |
1586 { | 1587 { |
1587 for ( i = v69; i >= 1; --i ) | 1588 for ( i = v16 - 1; i >= 1; --i ) |
1588 { | 1589 { |
1589 v86 = i; | 1590 //v86 = i; |
1590 v87 = terrain_76D5C8[i]; | 1591 //v87 = terrain_76D5C8[i]; |
1591 v88 = terrain_76D9C8[i]; | 1592 //v88 = terrain_76D9C8[i]; |
1592 if ( v87 < v88 ) | 1593 if ( terrain_76D5C8[i] < terrain_76D9C8[i] ) |
1593 { | 1594 { |
1594 terrain_76D9C8[v86] = v87; | 1595 terrain_76D9C8[i] = terrain_76D5C8[i]; |
1595 terrain_76D5C8[v86] = v88; | 1596 terrain_76D5C8[i] = terrain_76D9C8[i]; |
1596 } | 1597 } |
1597 v89 = terrain_76D9C8[v86]; | 1598 //v89 = terrain_76D9C8[i]; |
1598 v111 = 0; | 1599 v111 = 0; |
1599 if ( v89 <= 0 ) | 1600 if ( terrain_76D9C8[i] <= 0 ) |
1600 v89 = -v89; | 1601 terrain_76D9C8[i] = -terrain_76D9C8[i]; |
1601 v90 = terrain_76D5C8[v86]; | 1602 //v90 = terrain_76D5C8[i]; |
1602 if ( v90 <= 0 ) | 1603 if ( terrain_76D5C8[i] <= 0 ) |
1603 v90 = -v90; | 1604 terrain_76D5C8[i] = -terrain_76D5C8[i]; |
1604 pIndoorCameraD3D_4 = pGame->pIndoorCameraD3D; | 1605 pIndoorCameraD3D_4 = pGame->pIndoorCameraD3D; |
1605 v107 = v90 + 2; | 1606 v107 = terrain_76D5C8[i] + 2; |
1606 if ( v89 - 2 < v90 + 2 ) | 1607 if ( terrain_76D9C8[i] - 2 < terrain_76D5C8[i] + 2 ) |
1607 { | 1608 { |
1608 v86 = 0; | 1609 v86 = 0; |
1609 v116 = v89 - 2; | 1610 //v116 = terrain_76D9C8[i] - 2; |
1610 v92 = (66 - v89) << 9; | 1611 v92 = (66 - terrain_76D9C8[i]) << 9; |
1611 pHeight = (66 - v89) << 9; | 1612 //pHeight = (66 - terrain_76D9C8[i]) << 9; |
1612 v111 = v90 + 2 - (v89 - 2); | 1613 v111 = terrain_76D5C8[i] + 2 - (terrain_76D9C8[i] - 2); |
1613 do | 1614 //do |
1614 { | 1615 for ( v116 = terrain_76D9C8[i] - 2; v116 < v107; ++v116 ) |
1615 v93 = v116; | 1616 { |
1616 v106 = (*(int *)((char *)terrain_76DBC8 + v86) - 64) << 9; | 1617 //v93 = v116; |
1617 *(float *)((char *)&ptr_801A08->vWorldPosition.x + v86) = (double)v106; | 1618 //v106 = (*(int *)((char *)terrain_76DBC8 + v86) - 64) << 9; |
1618 *(float *)&pHeight = (double)pHeight; | 1619 ptr_801A08[v86].vWorldPosition.x = terrain_76DBC8[v86] - 64 << 9; |
1619 *(float *)((char *)&ptr_801A08->vWorldPosition.y + v86) = *(float *)&pHeight; | 1620 //*(float *)&pHeight = (double)pHeight; |
1620 v106 = pOutdoor->GetHeightOnTerrain(*(int *)((char *)terrain_76DBC8 + v86), v93); | 1621 ptr_801A08[v86].vWorldPosition.y = v92; |
1621 v97 = v116; | 1622 //v106 = ; |
1622 *(float *)((char *)&ptr_801A08->vWorldPosition.z + v86) = (double)v106; | 1623 //v97 = v116; |
1623 v106 = (*(int *)((char *)terrain_76DBC8 + v86) - 63) << 9; | 1624 ptr_801A08[v86].vWorldPosition.z = pOutdoor->GetHeightOnTerrain(terrain_76DBC8[v86], v116); |
1624 *(float *)((char *)&ptr_801A04->vWorldPosition.x + v86) = (double)v106; | 1625 //v106 = (*(int *)((char *)terrain_76DBC8 + v86) - 63) << 9; |
1625 *(float *)((char *)&ptr_801A04->vWorldPosition.y + v86) = *(float *)&pHeight; | 1626 ptr_801A04[v86].vWorldPosition.x = terrain_76DBC8[v86] - 63 << 9; |
1626 pHeight = pOutdoor->GetHeightOnTerrain(*(int *)((char *)terrain_76DBC8 + v86) + 1, v97); | 1627 ptr_801A04[v86].vWorldPosition.y = v92; |
1627 *(float *)((char *)&ptr_801A04->vWorldPosition.z + v86) = (double)pHeight; | 1628 //pHeight = pOutdoor->GetHeightOnTerrain(*(int *)((char *)terrain_76DBC8 + v86) + 1, v97); |
1629 ptr_801A04[v86].vWorldPosition.z = pOutdoor->GetHeightOnTerrain(terrain_76DBC8[v86] + 1, v116); | |
1628 if ( !byte_4D864C || !(pGame->uFlags & 0x80) ) | 1630 if ( !byte_4D864C || !(pGame->uFlags & 0x80) ) |
1629 { | 1631 { |
1630 pIndoorCameraD3D_4->ViewTransform((RenderVertexSoft *)(char *)ptr_801A08 + v86, 1); | 1632 pIndoorCameraD3D_4->ViewTransform((RenderVertexSoft *)(char *)ptr_801A08 + v86, 1); |
1631 pIndoorCameraD3D_4->ViewTransform((RenderVertexSoft *)(char *)ptr_801A04 + v86, 1); | 1633 pIndoorCameraD3D_4->ViewTransform((RenderVertexSoft *)(char *)ptr_801A04 + v86, 1); |
1632 pIndoorCameraD3D_4->Project((RenderVertexSoft *)(char *)ptr_801A08 + v86, 1, 0); | 1634 pIndoorCameraD3D_4->Project((RenderVertexSoft *)(char *)ptr_801A08 + v86, 1, 0); |
1633 pIndoorCameraD3D_4->Project((RenderVertexSoft *)(char *)ptr_801A04 + v86, 1, 0); | 1635 pIndoorCameraD3D_4->Project((RenderVertexSoft *)(char *)ptr_801A04 + v86, 1, 0); |
1634 } | 1636 } |
1635 v92 -= 512; | 1637 v92 -= 512; |
1636 v86 += 48; | 1638 v86 += 48; |
1637 ++v116; | 1639 //++v116; |
1638 pHeight = v92; | 1640 //pHeight = v92; |
1639 } | 1641 } |
1640 while ( v116 < v107 ); | 1642 //while ( v116 < v107 ); |
1641 } | 1643 } |
1642 v103 = abs((int)pIndoorCamera->uMapGridCellX - terrain_76DBC8[v86]); | 1644 v103 = abs((int)pIndoorCamera->uMapGridCellX - terrain_76DBC8[v86]); |
1643 v104 = abs((int)pIndoorCamera->uMapGridCellZ - terrain_76D9C8[v86]); | 1645 v104 = abs((int)pIndoorCamera->uMapGridCellZ - terrain_76D9C8[v86]); |
1644 if ( pRenderer->pRenderD3D ) | 1646 if ( pRenderer->pRenderD3D ) |
1645 Render::DrawTerrainD3D(v111, 1, (int)&v102); | 1647 Render::DrawTerrainD3D(v111, 1, v103, v104); |
1646 else | 1648 else |
1647 Render::DrawTerrainSW(v111, 1, (int)&v102); | 1649 Render::DrawTerrainSW(v111, 1, v103, v104); |
1648 } | 1650 } |
1649 }*/ | 1651 } |
1650 result = v126; | 1652 result = v126; |
1651 pOutdoorCamera->field_40 = v126; | 1653 pOutdoorCamera->field_40 = v126; |
1652 return result; | 1654 return result; |
1653 } | 1655 } |
1654 // 47FFC4: inconsistent fpu stack | 1656 // 47FFC4: inconsistent fpu stack |
1655 // 4D864C: using guessed type char byte_4D864C; | 1657 // 4D864C: using guessed type char byte_4D864C; |
1658 | |
1656 | 1659 |
1657 void Render::RenderTerrainD3D() // New function. It's temporary | 1660 void Render::RenderTerrainD3D() // New function. It's temporary |
1658 { | 1661 { |
1659 char result; // al@3 | 1662 char result; // al@3 |
1660 //int v1; // eax@3 | 1663 //int v1; // eax@3 |
1836 } | 1839 } |
1837 } | 1840 } |
1838 } | 1841 } |
1839 | 1842 |
1840 //----- (0048034E) -------------------------------------------------------- | 1843 //----- (0048034E) -------------------------------------------------------- |
1841 void Render::DrawTerrainD3D(int a1, int a2, int a3) | 1844 void Render::DrawTerrainD3D(int a1, int a2, int a3, int unk4) |
1842 { | 1845 { |
1843 int v3; // esi@1 | 1846 //int v3; // esi@1 |
1844 int v4; // edi@1 | 1847 int v4; // edi@1 |
1845 int v5; // ebx@2 | 1848 int v5; // ebx@2 |
1846 int v6; // eax@2 | 1849 int v6; // eax@2 |
1847 int v7; // eax@3 | 1850 int v7; // eax@3 |
1848 RenderVertexSoft *v8; // edi@3 | 1851 RenderVertexSoft *v8; // edi@3 |
1912 stru148 *v71; // esi@147 | 1915 stru148 *v71; // esi@147 |
1913 unsigned int v72; // ecx@147 | 1916 unsigned int v72; // ecx@147 |
1914 unsigned int v73; // eax@150 | 1917 unsigned int v73; // eax@150 |
1915 int v74; // eax@154 | 1918 int v74; // eax@154 |
1916 unsigned int v75; // eax@158 | 1919 unsigned int v75; // eax@158 |
1917 unsigned int v76; // [sp-10h] [bp-E0h]@61 | 1920 //unsigned int v76; // [sp-10h] [bp-E0h]@61 |
1918 int v77; // [sp-Ch] [bp-DCh]@61 | 1921 int v77; // [sp-Ch] [bp-DCh]@61 |
1919 IDirect3DTexture2 *v78; // [sp-8h] [bp-D8h]@61 | 1922 IDirect3DTexture2 *v78; // [sp-8h] [bp-D8h]@61 |
1920 int v79; // [sp-4h] [bp-D4h]@61 | 1923 //int v79; // [sp-4h] [bp-D4h]@61 |
1921 int v80; // [sp+0h] [bp-D0h]@59 | 1924 int v80; // [sp+0h] [bp-D0h]@59 |
1922 int v81; // [sp+0h] [bp-D0h]@109 | 1925 int v81; // [sp+0h] [bp-D0h]@109 |
1923 int v82; // [sp+54h] [bp-7Ch]@1 | 1926 int v82; // [sp+54h] [bp-7Ch]@1 |
1924 int v83; // [sp+60h] [bp-70h]@1 | 1927 int v83; // [sp+60h] [bp-70h]@1 |
1925 int v84; // [sp+6Ch] [bp-64h]@1 | 1928 int v84; // [sp+6Ch] [bp-64h]@1 |
1959 char this_3a; // [sp+DBh] [bp+Bh]@82 | 1962 char this_3a; // [sp+DBh] [bp+Bh]@82 |
1960 char this_3b; // [sp+DBh] [bp+Bh]@131 | 1963 char this_3b; // [sp+DBh] [bp+Bh]@131 |
1961 | 1964 |
1962 static stru154 static_sub_0048034E_stru_154; | 1965 static stru154 static_sub_0048034E_stru_154; |
1963 static stru154 stru_76D5A8; | 1966 static stru154 stru_76D5A8; |
1964 v3 = a1; | 1967 //v3 = a1; |
1965 v82 = a2; | 1968 v82 = a2; |
1966 v83 = *(/*short **/_WORD *)(a3 + 4); | 1969 v83 = a3; |
1967 X = abs(*(/*short **/_WORD *)(a3 + 6)); | 1970 X = abs(unk4); |
1968 v4 = 0; | 1971 v4 = 0; |
1969 v88 = 0; | 1972 v88 = 0; |
1970 v84 = v3 - 1; | 1973 v84 = a1 - 1; |
1971 v90 = (float)pOutdoor->vSunlight.x / 65536.0; | 1974 v90 = (float)pOutdoor->vSunlight.x / 65536.0; |
1972 v91 = (float)pOutdoor->vSunlight.y / 65536.0; | 1975 v91 = (float)pOutdoor->vSunlight.y / 65536.0; |
1973 v92 = (float)pOutdoor->vSunlight.z / 65536.0; | 1976 v92 = (float)pOutdoor->vSunlight.z / 65536.0; |
1974 if ( v3 - 1 > 0 ) | 1977 if ( a1 - 1 > 0 ) |
1975 { | 1978 { |
1976 while ( 1 ) | 1979 while ( 1 ) |
1977 { | 1980 { |
1978 v5 = abs(X);//v5 = 13108 | 1981 v5 = abs(X);//v5 = 13108 |
1979 v6 = abs(v83);//v6 = 13108 | 1982 v6 = abs(v83);//v6 = 13108 |
1980 --X; | 1983 --X; |
1981 __debugbreak(); // uncoment & refactor following large if | 1984 //__debugbreak(); // uncoment & refactor following large if |
1982 v93 = (int)&stru_76E5C8[(v5 << 7) + v6]; | 1985 v93 = (int)&stru_76E5C8[(v5 << 7) + v6]; |
1983 /*if ( !v93->field_0 || ((v7 = 48 * v4, v8 = &pVerticesSR_806210[v4], a2 = v8, !v82) ? (v9 = (RenderVertexSoft *)((char *)&pVerticesSR_801A10 + v7), | 1986 /*if ( !v93->field_0 || ((v7 = 48 * v4, v8 = &pVerticesSR_806210[v4], a2 = v8, !v82) ? (v9 = (RenderVertexSoft *)((char *)&pVerticesSR_801A10 + v7), |
1984 v10 = &pVerticesSR_806210[1] + v7) : (v9 = &pVerticesSR_806210[1] + v7, v10 = (RenderVertexSoft *)((char *)&pVerticesSR_801A10 + v7)), | 1987 v10 = &pVerticesSR_806210[1] + v7) : (v9 = &pVerticesSR_806210[1] + v7, v10 = (RenderVertexSoft *)((char *)&pVerticesSR_801A10 + v7)), |
1985 ((a8 = v9, | 1988 ((a8 = v9, |
1986 pVertices = &pVerticesSR_801A10[1] + v7, | 1989 pVertices = &pVerticesSR_801A10[1] + v7, |
2409 { | 2412 { |
2410 v75 = v71->uTileBitmapID; | 2413 v75 = v71->uTileBitmapID; |
2411 v80 = true; | 2414 v80 = true; |
2412 } | 2415 } |
2413 //v79 = 0; | 2416 //v79 = 0; |
2414 //v78 = pBitmaps_LOD->pHardwareTextures[v75]; | 2417 v78 = pBitmaps_LOD->pHardwareTextures[v75]; |
2415 v71->pTexture = (Texture *)&pBitmaps_LOD->pHardwareTextures[v75];// Ritor1: It's temporary | 2418 v71->pTexture = (Texture *)&pBitmaps_LOD->pHardwareTextures[v75];// Ritor1: It's temporary |
2416 //v77 = (int)v71; | 2419 //v77 = (int)v71; |
2417 //v76 = v71->uNumVertices; | 2420 //v76 = v71->uNumVertices; |
2418 //goto LABEL_161; | 2421 //goto LABEL_161; |
2419 pRenderer->DrawTerrainPolygon(v76, (stru148 *)v71, v78, v79, v80); | 2422 pRenderer->DrawTerrainPolygon(v71->uNumVertices, (stru148 *)v71, v78, 0, v80); |
2420 goto LABEL_162; | 2423 goto LABEL_162; |
2421 } | 2424 } |
2422 v38 = (stru148 *)v71; | 2425 v38 = (stru148 *)v71; |
2423 goto LABEL_56; | 2426 goto LABEL_56; |
2424 } | 2427 } |
2433 // 47F458: using guessed type int __stdcall WorldPosToGridCellZ(int); | 2436 // 47F458: using guessed type int __stdcall WorldPosToGridCellZ(int); |
2434 // 4D864C: using guessed type char byte_4D864C; | 2437 // 4D864C: using guessed type char byte_4D864C; |
2435 // 76D5C0: using guessed type char static_sub_0048034E_byte_76D5C0__init_flag; | 2438 // 76D5C0: using guessed type char static_sub_0048034E_byte_76D5C0__init_flag; |
2436 | 2439 |
2437 //----- (00481212) -------------------------------------------------------- | 2440 //----- (00481212) -------------------------------------------------------- |
2438 void Render::DrawTerrainSW(int a1, int a2, int a3) | 2441 void Render::DrawTerrainSW(int a1, int a2, int a3, int a4) |
2439 { | 2442 { |
2440 int v3; // esi@1 | 2443 int v3; // esi@1 |
2441 int v4; // ecx@1 | 2444 int v4; // ecx@1 |
2442 int v5; // ST10_4@1 | 2445 int v5; // ST10_4@1 |
2443 int v6; // edi@1 | 2446 int v6; // edi@1 |
2547 | 2550 |
2548 v3 = a1; | 2551 v3 = a1; |
2549 //v4 = *(short *)(a3 + 4); | 2552 //v4 = *(short *)(a3 + 4); |
2550 //v5 = *(short *)(a3 + 6); | 2553 //v5 = *(short *)(a3 + 6); |
2551 v85 = a2; | 2554 v85 = a2; |
2552 v86 = *(_WORD *)(a3 + 4); //v4; | 2555 v86 = a3; //v4; |
2553 X = abs(*(_WORD *)(a3 + 6)); //v5 | 2556 X = abs(a4); //v5 |
2554 v6 = 0; | 2557 v6 = 0; |
2555 v90 = 0; | 2558 v90 = 0; |
2556 v81 = v3 - 1; | 2559 v81 = v3 - 1; |
2557 v95 = (double)pOutdoor->vSunlight.x / 65536.0; | 2560 v95 = (double)pOutdoor->vSunlight.x / 65536.0; |
2558 v96 = (double)pOutdoor->vSunlight.y / 65536.0; | 2561 v96 = (double)pOutdoor->vSunlight.y / 65536.0; |