Henri Verbeet : d3dx9: Get rid of the SPRITE typedef.
Alexandre Julliard
julliard at winehq.org
Mon Sep 30 16:07:55 CDT 2013
Module: wine
Branch: master
Commit: c174a993b06dd468a7782c9dae4f45f0672cdc34
URL: http://source.winehq.org/git/wine.git/?a=commit;h=c174a993b06dd468a7782c9dae4f45f0672cdc34
Author: Henri Verbeet <hverbeet at codeweavers.com>
Date: Mon Sep 30 09:40:42 2013 +0200
d3dx9: Get rid of the SPRITE typedef.
---
dlls/d3dx9_36/sprite.c | 23 ++++++++++++++---------
1 files changed, 14 insertions(+), 9 deletions(-)
diff --git a/dlls/d3dx9_36/sprite.c b/dlls/d3dx9_36/sprite.c
index 580289f..3c52c9f 100644
--- a/dlls/d3dx9_36/sprite.c
+++ b/dlls/d3dx9_36/sprite.c
@@ -32,7 +32,8 @@ struct sprite_vertex
D3DXVECTOR2 tex;
};
-typedef struct _SPRITE {
+struct sprite
+{
IDirect3DTexture9 *texture;
UINT texw, texh;
RECT rect;
@@ -40,7 +41,7 @@ typedef struct _SPRITE {
D3DXVECTOR3 pos;
D3DCOLOR color;
D3DXMATRIX transform;
-} SPRITE;
+};
struct d3dx9_sprite
{
@@ -60,7 +61,7 @@ struct d3dx9_sprite
DWORD maxanisotropy;
DWORD alphacmp_caps;
- SPRITE *sprites;
+ struct sprite *sprites;
int sprite_count; /* number of sprites to be drawn */
int allocated_sprites; /* number of (pre-)allocated sprites */
};
@@ -346,12 +347,16 @@ static HRESULT WINAPI d3dx9_sprite_Draw(ID3DXSprite *iface, IDirect3DTexture9 *t
if(texture==NULL) return D3DERR_INVALIDCALL;
if(!This->ready) return D3DERR_INVALIDCALL;
- if(This->allocated_sprites==0) {
- This->sprites=HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, 32*sizeof(SPRITE));
- This->allocated_sprites=32;
- } else if(This->allocated_sprites<=This->sprite_count) {
- This->allocated_sprites=This->allocated_sprites*3/2;
- This->sprites=HeapReAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, This->sprites, This->allocated_sprites*sizeof(SPRITE));
+ if (!This->allocated_sprites)
+ {
+ This->sprites = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, 32 * sizeof(*This->sprites));
+ This->allocated_sprites = 32;
+ }
+ else if (This->allocated_sprites <= This->sprite_count)
+ {
+ This->allocated_sprites += This->allocated_sprites / 2;
+ This->sprites = HeapReAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY,
+ This->sprites, This->allocated_sprites * sizeof(*This->sprites));
}
This->sprites[This->sprite_count].texture=texture;
if(!(This->flags & D3DXSPRITE_DO_NOT_ADDREF_TEXTURE))
More information about the wine-cvs
mailing list