comparison Render.cpp @ 54:86d05cff0a35

21.01.13 (home)
author Ritor1
date Mon, 21 Jan 2013 01:34:57 +0600
parents ac65389dc211
children 764abc86ce90
comparison
equal deleted inserted replaced
53:1bcaa67d05e0 54:86d05cff0a35
2855 { 2855 {
2856 v17 = 0; 2856 v17 = 0;
2857 v1 = (char *)&pBillboardRenderList[0].uScreenSpaceY; 2857 v1 = (char *)&pBillboardRenderList[0].uScreenSpaceY;
2858 do 2858 do
2859 { 2859 {
2860 billboard.uScreenSpaceX = *((_WORD *)v1 - 1); 2860 billboard.uScreenSpaceX = *((short *)v1 - 1);
2861 v2 = *((_WORD *)v1 - 5); 2861 v2 = *((short *)v1 - 5);
2862 billboard.uScreenSpaceY = *(_WORD *)v1; 2862 billboard.uScreenSpaceY = *(short *)v1;
2863 v3 = *((_WORD *)v1 - 10); 2863 v3 = *((int *)v1 - 10);
2864 billboard.uParentBillboardID = v0; 2864 billboard.uParentBillboardID = v0;
2865 v4 = *((_WORD *)v1 + 1); 2865 v4 = *((int *)v1 + 1);
2866 billboard.field_10 = v3; 2866 billboard.field_10 = v3;
2867 v5 = *((_WORD *)v1 - 9); 2867 v5 = *((int *)v1 - 9);
2868 billboard.uTintColor = v4; 2868 billboard.uTintColor = v4;
2869 v6 = *((_WORD *)v1 - 8); 2869 v6 = *((short *)v1 - 8);
2870 billboard.field_14 = v5; 2870 billboard.field_14 = v5;
2871 v7 = *((_WORD *)v1 - 6); 2871 v7 = *((int *)v1 - 6);
2872 billboard.sZValue = *((_WORD *)v1 - 6); 2872 billboard.sZValue = *((int *)v1 - 6);
2873 billboard.uFlags = v2; 2873 billboard.uFlags = v2;
2874 if ( v6 != -1 ) 2874 if ( v6 != -1 )
2875 { 2875 {
2876 v8 = *((_WORD *)v1 + 1); 2876 v8 = *((short *)v1 + 1);
2877 if ( pRenderer->pRenderD3D ) 2877 if ( pRenderer->pRenderD3D )
2878 { 2878 {
2879 billboard.sZValue = v7; 2879 billboard.sZValue = v7;
2880 billboard.uFlags = v2; 2880 billboard.uFlags = v2;
2881 pRenderer->TransformBillboard( 2881 pRenderer->TransformBillboard(
2885 (RenderBillboard *)(v1 - 40)); 2885 (RenderBillboard *)(v1 - 40));
2886 } 2886 }
2887 else 2887 else
2888 { 2888 {
2889 if ( *(v1 - 10) & 2 ) 2889 if ( *(v1 - 10) & 2 )
2890 v9 = PaletteManager::Get_Dark_or_Red_LUT(*((_WORD *)v1 - 7), 0, 1); 2890 v9 = PaletteManager::Get_Dark_or_Red_LUT(*((short *)v1 - 7), 0, 1);
2891 else 2891 else
2892 v9 = GetBillboardPalette((RenderBillboard *)(v1 - 40), *((_WORD *)v1 - 7), v7, *((_WORD *)v1 + 1)); 2892 v9 = GetBillboardPalette((RenderBillboard *)(v1 - 40), *((short *)v1 - 7), v7, *((short *)v1 + 1));
2893 v10 = (*(v1 - 9) & 1) == 0; 2893 v10 = (*(v1 - 9) & 1) == 0;
2894 billboard.pPalette = v9; 2894 billboard.pPalette = v9;
2895 if ( !v10 ) 2895 if ( !v10 )
2896 billboard.pPalette = pPaletteManager->field_261600[*((_WORD *)v1 - 7)]; 2896 billboard.pPalette = pPaletteManager->field_261600[*((short *)v1 - 7)];
2897 if ( !(billboard.uFlags & 0x40) && billboard.uFlags & 0x80 ) 2897 if ( !(billboard.uFlags & 0x40) && billboard.uFlags & 0x80 )
2898 { 2898 {
2899 v11 = GetTickCount(); 2899 v11 = GetTickCount();
2900 v12 = stru_5C6E00->SinCos(v17 + v11); 2900 v12 = stru_5C6E00->SinCos(v17 + v11);
2901 v15 = abs(v12); 2901 v15 = abs(v12);
2902 v18 = (unsigned __int64)(15i64 * v15) >> 16; 2902 v18 = (unsigned __int64)(15i64 * v15) >> 16;
2903 billboard.pPalette2 = PaletteManager::Get_Dark_or_Red_LUT(*((_WORD *)v1 - 7), 15 - v18, 1); 2903 billboard.pPalette2 = PaletteManager::Get_Dark_or_Red_LUT(*((short *)v1 - 7), 15 - v18, 1);
2904 } 2904 }
2905 v13 = *((_WORD *)v1 - 8); 2905 v13 = *((short *)v1 - 8);
2906 if ( v13 >= 0 ) 2906 if ( v13 >= 0 )
2907 pSprites_LOD->pSpriteHeaders[v13]._4ACC38(&billboard, 1); 2907 pSprites_LOD->pSpriteHeaders[v13]._4ACC38(&billboard, 1);
2908 } 2908 }
2909 } 2909 }
2910 v17 += 5; 2910 v17 += 5;