Mercurial > mm7
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; |