comparison Render.h @ 144:8ab4484c22e0

Billboard drawing's up (actors, decorations, misc sprites)
author Nomad
date Tue, 12 Feb 2013 11:59:49 +0200
parents 8b8fd4d83fdc
children 3235bc4cf78e ee11772d0ad2
comparison
equal deleted inserted replaced
143:b099dd069171 144:8ab4484c22e0
50 50
51 /* 161 */ 51 /* 161 */
52 #pragma pack(push, 1) 52 #pragma pack(push, 1)
53 struct RenderBillboard 53 struct RenderBillboard
54 { 54 {
55 int field_0; 55 int _screenspace_x_scaler_packedfloat;
56 int field_4; 56 int _screenspace_y_scaler_packedfloat;
57 float fov_x; 57 float fov_x;
58 float fov_y; 58 float fov_y;
59 int sZValue; 59 int sZValue;
60 int field_14_actor_id; 60 int field_14_actor_id;
61 unsigned __int16 uHwSpriteID; 61 unsigned __int16 uHwSpriteID;
175 { 175 {
176 Transparent = 0, 176 Transparent = 0,
177 Opaque_1 = 1, 177 Opaque_1 = 1,
178 Opaque_2 = 2, 178 Opaque_2 = 2,
179 Opaque_3 = 3, 179 Opaque_3 = 3,
180 InvalidOpacity = 0xFFFFFFFF 180 NoBlend = 0xFFFFFFFF
181 }; 181 };
182 182
183 IDirect3DTexture2 *pTexture; 183 IDirect3DTexture2 *pTexture;
184 unsigned int uNumVertices; 184 unsigned int uNumVertices;
185 RenderVertexD3D3 pQuards[4]; 185 RenderVertexD3D3 pQuards[4];
186 float flt_88; 186 float z_order;
187 OpacityType uOpacity; 187 OpacityType uOpacity;
188 int field_90; 188 int field_90;
189 int sZValue; 189 int sZValue;
190 unsigned int uParentBillboardID; 190 unsigned int uParentBillboardID;
191 }; 191 };
299 void RestoreFrontBuffer(); 299 void RestoreFrontBuffer();
300 HRESULT _4A184C(); 300 HRESULT _4A184C();
301 void PresentRect(RECT *a2, RECT *a3); 301 void PresentRect(RECT *a2, RECT *a3);
302 void BltToFront(RECT *pDstRect, IDirectDrawSurface *pSrcSurface, RECT *pSrcRect, unsigned int uBltFlags); 302 void BltToFront(RECT *pDstRect, IDirectDrawSurface *pSrcSurface, RECT *pSrcRect, unsigned int uBltFlags);
303 void BltBackToFontFast(int a2, int a3, RECT *a4); 303 void BltBackToFontFast(int a2, int a3, RECT *a4);
304 unsigned int Billboard_ProbablyAddToListAndSortByZOrder(unsigned int a1); 304 unsigned int Billboard_ProbablyAddToListAndSortByZOrder(float z);
305 unsigned int GetBillboardDrawListSize(); 305 unsigned int GetBillboardDrawListSize();
306 unsigned int GetParentBillboardID(unsigned int uBillboardID); 306 unsigned int GetParentBillboardID(unsigned int uBillboardID);
307 void BeginSceneD3D(); 307 void BeginSceneD3D();
308 void DrawBillboards_And_MaybeRenderSpecialEffects_And_EndScene(); 308 void DrawBillboards_And_MaybeRenderSpecialEffects_And_EndScene();
309 unsigned int GetActorTintColor(float a2, int a3, int a4, int a5, RenderBillboard *a6); 309 unsigned int GetActorTintColor(float a2, int a3, int a4, int a5, RenderBillboard *a6);
314 void DrawFan(unsigned int uNumVertices, stru148 *a3, IDirect3DTexture2 *a4); 314 void DrawFan(unsigned int uNumVertices, stru148 *a3, IDirect3DTexture2 *a4);
315 void _4A2ED5(signed int a2, stru148 *a3, IDirect3DTexture2 *pHwTex); 315 void _4A2ED5(signed int a2, stru148 *a3, IDirect3DTexture2 *pHwTex);
316 void DrawIndoorPolygon(unsigned int uNumVertices, struct BLVFace *a3, IDirect3DTexture2 *pHwTex, Texture *pTex, int uPackedID, unsigned int uColor, int a8); 316 void DrawIndoorPolygon(unsigned int uNumVertices, struct BLVFace *a3, IDirect3DTexture2 *pHwTex, Texture *pTex, int uPackedID, unsigned int uColor, int a8);
317 void MakeParticleBillboardAndPush_BLV(RenderBillboardTransform_local0 *a2, IDirect3DTexture2 *a3, unsigned int uDiffuse, int angle); 317 void MakeParticleBillboardAndPush_BLV(RenderBillboardTransform_local0 *a2, IDirect3DTexture2 *a3, unsigned int uDiffuse, int angle);
318 void MakeParticleBillboardAndPush_ODM(RenderBillboardTransform_local0 *a2, IDirect3DTexture2 *a3, unsigned int uDiffuse, int angle); 318 void MakeParticleBillboardAndPush_ODM(RenderBillboardTransform_local0 *a2, IDirect3DTexture2 *a3, unsigned int uDiffuse, int angle);
319 void TransformBillboard(RenderBillboardTransform_local0 *a2, Sprite *pSprite, int a1a, RenderBillboard *pBillboard); 319 void TransformBillboard(RenderBillboardTransform_local0 *a2, Sprite *pSprite, int paletteSubindex, RenderBillboard *pBillboard);
320 void DrawBillboard_Indoor(RenderBillboardTransform_local0 *pSoftBillboard, Sprite *a3, int uPaletteSubindex); 320 void DrawBillboard_Indoor(RenderBillboardTransform_local0 *pSoftBillboard, Sprite *a3, int uPaletteSubindex);
321 int MakeParticleBillboardAndPush_BLV_Software(int screenSpaceX, int screenSpaceY, int z, int lightColor, int a6); 321 int MakeParticleBillboardAndPush_BLV_Software(int screenSpaceX, int screenSpaceY, int z, int lightColor, int a6);
322 void DrawProjectile(float srcX, float srcY, float a3, float a4, float dstX, float dstY, float a7, float a8, IDirect3DTexture2 *a9); 322 void DrawProjectile(float srcX, float srcY, float a3, float a4, float dstX, float dstY, float a7, float a8, IDirect3DTexture2 *a9);
323 void _4A4CC9(struct stru6_stru1_indoor_sw_billboard *a1, int a2); 323 void _4A4CC9(struct stru6_stru1_indoor_sw_billboard *a1, int a2);
324 bool LoadTexture(const char *pName, unsigned int bMipMaps, IDirectDrawSurface4 **pOutSurface, IDirect3DTexture2 **pOutTexture); 324 bool LoadTexture(const char *pName, unsigned int bMipMaps, IDirectDrawSurface4 **pOutSurface, IDirect3DTexture2 **pOutTexture);
347 char DrawBuildingsD3D(); 347 char DrawBuildingsD3D();
348 struct BSPModel *DrawBuildingsSW(); 348 struct BSPModel *DrawBuildingsSW();
349 int OnOutdoorRedrawSW(); 349 int OnOutdoorRedrawSW();
350 void DrawSkyD3D(); 350 void DrawSkyD3D();
351 int DrawSkySW(struct Span *a1, stru148 *a2, int a3); 351 int DrawSkySW(struct Span *a1, stru148 *a2, int a3);
352 void DrawDecorations(); 352 void PrepareDecorationsRenderList_ODM();
353 void DrawLayingItems_Shooting_Magic_ODM(); 353 void DrawLayingItems_Shooting_Magic_ODM();
354 void TransformBillboardsAndSetPalettesODM(); 354 void TransformBillboardsAndSetPalettesODM();
355 float DrawBezierTerrain(); 355 float DrawBezierTerrain();
356 void RenderTerrainD3D(); 356 void RenderTerrainD3D();
357 void DrawTerrainD3D(int a1, int edx0, int a3); 357 void DrawTerrainD3D(int a1, int edx0, int a3);
460 { 460 {
461 unsigned __int16 *pTarget; 461 unsigned __int16 *pTarget;
462 int *pTargetZ; 462 int *pTargetZ;
463 int uScreenSpaceX; 463 int uScreenSpaceX;
464 int uScreenSpaceY; 464 int uScreenSpaceY;
465 int field_10; 465 int _screenspace_x_scaler_packedfloat;
466 int field_14; 466 int _screenspace_y_scaler_packedfloat;
467 char field_18[8]; 467 char field_18[8];
468 unsigned __int16 *pPalette; 468 unsigned __int16 *pPalette;
469 unsigned __int16 *pPalette2; 469 unsigned __int16 *pPalette2;
470 int sZValue; 470 union
471 unsigned int uFlags; 471 {
472 int sZValue;
473 struct
474 {
475 unsigned short object_pid;
476 short zbuffer_depth;
477 };
478 };
479 unsigned int uFlags; // & 4 - mirror horizontally
472 unsigned int uTargetPitch; 480 unsigned int uTargetPitch;
473 unsigned int uViewportX; 481 unsigned int uViewportX;
474 unsigned int uViewportY; 482 unsigned int uViewportY;
475 unsigned int uViewportZ; 483 unsigned int uViewportZ;
476 unsigned int uViewportW; 484 unsigned int uViewportW;