comparison LightmapBuilder.cpp @ 3:540178ef9b18

Main menu functionality
author Nomad
date Wed, 10 Oct 2012 19:10:15 +0200
parents 2ca04ccb612a
children e62134245ab0
comparison
equal deleted inserted replaced
2:2ca04ccb612a 3:540178ef9b18
167 a6 = *((float *)v19 + 100) * 255.0; 167 a6 = *((float *)v19 + 100) * 255.0;
168 //v32 = a6 + 6.7553994e15; 168 //v32 = a6 + 6.7553994e15;
169 a6 = *((float *)v19 + 120) * 255.0; 169 a6 = *((float *)v19 + 120) * 255.0;
170 //v31 = a6 + 6.7553994e15; 170 //v31 = a6 + 6.7553994e15;
171 //v38 = __PAIR__(LODWORD(v32), LODWORD(v31)); 171 //v38 = __PAIR__(LODWORD(v32), LODWORD(v31));
172 v38 = __PAIR__((int)floorf(a6), (int)floorf(a6)); 172 v38 = __PAIR__((int)floorf(a6 + 0.5f), (int)floorf(a6 + 0.5f));
173 //v22 = LODWORD(v31) | ((LODWORD(v32) | (LODWORD(v33) << 8)) << 8); 173 //v22 = LODWORD(v31) | ((LODWORD(v32) | (LODWORD(v33) << 8)) << 8);
174 v22 = (int)floorf(a6) | (((int)floorf(a6) | ((int)floorf(a6) << 8)) << 8); 174 v22 = (int)floorf(a6 + 0.5f) | (((int)floorf(a6 + 0.5f) | ((int)floorf(a6 + 0.5f) << 8)) << 8);
175 if (!v22) 175 if (!v22)
176 v22 = 0x00FFFFFF; 176 v22 = 0x00FFFFFF;
177 v27 = a7; 177 v27 = a7;
178 v23 = (int)a5; 178 v23 = (int)a5;
179 v26 = (Vec3_float_ *)a9; 179 v26 = (Vec3_float_ *)a9;
361 a1.z = a5; 361 a1.z = a5;
362 a1.y = v30; 362 a1.y = v30;
363 a1.Normalize(); 363 a1.Normalize();
364 //v64 = v62 + 6.7553994e15; 364 //v64 = v62 + 6.7553994e15;
365 //LODWORD(a5) = LODWORD(v64); 365 //LODWORD(a5) = LODWORD(v64);
366 LODWORD(a5) = floorf(v62); 366 LODWORD(a5) = floorf(v62 + 0.5f);
367 //v64 = v61 + 6.7553994e15; 367 //v64 = v61 + 6.7553994e15;
368 //arg0c = LODWORD(v64); 368 //arg0c = LODWORD(v64);
369 arg0c = floorf(v61); 369 arg0c = floorf(v61 + 0.5f);
370 //v64 = v60 + 6.7553994e15; 370 //v64 = v60 + 6.7553994e15;
371 //arg8 = LODWORD(v64); 371 //arg8 = LODWORD(v64);
372 arg8 = floorf(v60); 372 arg8 = floorf(v60 + 0.5f);
373 auto v64 /*HIDWORD(v64)*/ = abs(*(int *)(v25 + 8) - (signed)LODWORD(a5)); 373 auto v64 /*HIDWORD(v64)*/ = abs(*(int *)(v25 + 8) - (signed)LODWORD(a5));
374 arg0a = abs(*(int *)(v25 + 4) - arg0c); 374 arg0a = abs(*(int *)(v25 + 4) - arg0c);
375 v31 = abs(*(int *)v25 - arg8); 375 v31 = abs(*(int *)v25 - arg8);
376 LODWORD(a5) = v31; 376 LODWORD(a5) = v31;
377 v32 = arg0a; 377 v32 = arg0a;
845 stru_F8AD28._blv_lights_zs[*pSlot] = pLight->vPosition.z; 845 stru_F8AD28._blv_lights_zs[*pSlot] = pLight->vPosition.z;
846 stru_F8AD28._blv_lights_rs[*pSlot] = (double)pLight->uLightColorR * 0.0039215689; 846 stru_F8AD28._blv_lights_rs[*pSlot] = (double)pLight->uLightColorR * 0.0039215689;
847 stru_F8AD28._blv_lights_gs[*pSlot] = (double)pLight->uLightColorG * 0.0039215689; 847 stru_F8AD28._blv_lights_gs[*pSlot] = (double)pLight->uLightColorG * 0.0039215689;
848 stru_F8AD28._blv_lights_bs[*pSlot] = (double)pLight->uLightColorB * 0.0039215689; 848 stru_F8AD28._blv_lights_bs[*pSlot] = (double)pLight->uLightColorB * 0.0039215689;
849 //pLighta = v13; 849 //pLighta = v13;
850 stru_F8AD28._blv_lights_light_dot_faces[*pSlot] = abs((int)floorf(v13));//COERCE_UNSIGNED_INT64(pLighta + 6.7553994e15)); 850 stru_F8AD28._blv_lights_light_dot_faces[*pSlot] = abs((int)floorf(v13 + 0.5f));//COERCE_UNSIGNED_INT64(pLighta + 6.7553994e15));
851 result = (BLVFace *)*pSlot; 851 result = (BLVFace *)*pSlot;
852 stru_F8AD28._blv_lights_smthngs[(*pSlot)++] = v7->field_B; 852 stru_F8AD28._blv_lights_smthngs[(*pSlot)++] = v7->field_B;
853 LOBYTE(result) = 1; 853 LOBYTE(result) = 1;
854 } 854 }
855 else 855 else
1039 int v26; // [sp+2Ch] [bp-4h]@1 1039 int v26; // [sp+2Ch] [bp-4h]@1
1040 1040
1041 v7 = a5; 1041 v7 = a5;
1042 LODWORD(a5) = *(unsigned int *)(LODWORD(a5) + 8); 1042 LODWORD(a5) = *(unsigned int *)(LODWORD(a5) + 8);
1043 //v24 = a5 + 6.7553994e15; 1043 //v24 = a5 + 6.7553994e15;
1044 v26 = floorf(a5);//LODWORD(v24); 1044 v26 = floorf(a5 + 0.5f);//LODWORD(v24);
1045 LODWORD(a5) = *(unsigned int *)(LODWORD(v7) + 4); 1045 LODWORD(a5) = *(unsigned int *)(LODWORD(v7) + 4);
1046 //v24 = a5 + 6.7553994e15; 1046 //v24 = a5 + 6.7553994e15;
1047 auto _v24 = floorf(a5); 1047 auto _v24 = floorf(a5 + 0.5f);
1048 LODWORD(a5) = *(unsigned int *)LODWORD(v7); 1048 LODWORD(a5) = *(unsigned int *)LODWORD(v7);
1049 //v23 = a5 + 6.7553994e15; 1049 //v23 = a5 + 6.7553994e15;
1050 auto _v23 = floorf(a5); 1050 auto _v23 = floorf(a5 + 0.5f);
1051 //*(_QWORD *)((char *)&v24 + 4) = __PAIR__(LODWORD(v24), LODWORD(v23)); 1051 //*(_QWORD *)((char *)&v24 + 4) = __PAIR__(LODWORD(v24), LODWORD(v23));
1052 v26 = abs((signed)LODWORD(a1.z) - v26); 1052 v26 = abs((signed)LODWORD(a1.z) - v26);
1053 //v25 = abs((signed)LODWORD(a1.y) - (signed)LODWORD(v24)); 1053 //v25 = abs((signed)LODWORD(a1.y) - (signed)LODWORD(v24));
1054 //v8 = abs((int)a1.x - (signed)LODWORD(v23)); 1054 //v8 = abs((int)a1.x - (signed)LODWORD(v23));
1055 v25 = abs((signed)LODWORD(a1.y) - (signed)_v24); 1055 v25 = abs((signed)LODWORD(a1.y) - (signed)_v24);
1642 else 1642 else
1643 { 1643 {
1644 a5a = ((double)a1->field_A - v15->field_2C) * v15->field_4 + v15->field_24 - 0.5; 1644 a5a = ((double)a1->field_A - v15->field_2C) * v15->field_4 + v15->field_24 - 0.5;
1645 //v20 = a5a + 6.7553994e15; 1645 //v20 = a5a + 6.7553994e15;
1646 //a5b = (double)SLODWORD(v20); 1646 //a5b = (double)SLODWORD(v20);
1647 a5b = (double)floorf(a5a); 1647 a5b = (double)floorf(a5a + 0.5f);
1648 a1a = ((double)a1->field_A - *(float *)(v14 + 44)) * *(float *)(v14 + 4) + *(float *)(v14 + 36) + 0.5; 1648 a1a = ((double)a1->field_A - *(float *)(v14 + 44)) * *(float *)(v14 + 4) + *(float *)(v14 + 36) + 0.5;
1649 //v21 = a1a + 6.7553994e15; 1649 //v21 = a1a + 6.7553994e15;
1650 //v22 = (double)SLODWORD(v21); 1650 //v22 = (double)SLODWORD(v21);
1651 v22 = (double)floorf(a1a); 1651 v22 = (double)floorf(a1a + 0.5f);
1652 result = v9->field_8; 1652 result = v9->field_8;
1653 v23 = v9->field_C; 1653 v23 = v9->field_C;
1654 v24 = -((a3a - a2a) / (v22 - a5b)); 1654 v24 = -((a3a - a2a) / (v22 - a5b));
1655 v9->field_10 = ((double)result - a5b) * v24 + a3a; 1655 v9->field_10 = ((double)result - a5b) * v24 + a3a;
1656 v9->field_14 = a2a - (v22 - (double)(result + v23)) * v24; 1656 v9->field_14 = a2a - (v22 - (double)(result + v23)) * v24;
1999 //v31 = v6; 1999 //v31 = v6;
2000 *((float *)&v30 + 1) = (double)v30 * v4->flt_C14; 2000 *((float *)&v30 + 1) = (double)v30 * v4->flt_C14;
2001 a1c = (double)a1b * v4->flt_C14 * arg4->x; 2001 a1c = (double)a1b * v4->flt_C14 * arg4->x;
2002 //v29 = a1c + 6.7553994e15; 2002 //v29 = a1c + 6.7553994e15;
2003 //arg4a = LODWORD(v29); 2003 //arg4a = LODWORD(v29);
2004 arg4a = floorf(a1c); 2004 arg4a = floorf(a1c + 0.5f);
2005 2005
2006 a1d = v6 * v7->y; 2006 a1d = v6 * v7->y;
2007 v29 = a1d + 6.7553994e15; 2007 v29 = a1d + 6.7553994e15;
2008 LODWORD(v31) = LODWORD(v29); 2008 LODWORD(v31) = LODWORD(v29);
2009 2009