I edited it so that it could load the tileset, but it draws on only a piece of the first frame.
Heres the edited parts:
D3DXIMAGE_INFO d3dxImageInfo; D3DXCreateTextureFromFileEx(g_pd3dDevice9, fname, D3DPOOL_DEFAULT, D3DPOOL_DEFAULT, 1, D3DPOOL_DEFAULT, D3DFMT_UNKNOWN, D3DPOOL_DEFAULT, D3DX_DEFAULT, D3DX_DEFAULT, D3DCOLOR_COLORVALUE(0.0f,0.0f,0.0f,1.0f), &d3dxImageInfo, NULL, &sprite_texture[num_sprites]);
RECT srcRect; //srcRect.top = (frame / sprite_cells[index]) * sprite_height[index]; //srcRect.left = (frame % sprite_cells[index]) * sprite_height[index]; //srcRect.bottom = srcRect.top+sprite_height[index]; //srcRect.right = srcRect.left+sprite_width[index]; srcRect.top = 0; srcRect.left = 0; srcRect.bottom = 64; srcRect.right = 64; D3DXVECTOR3 vCenter( sprite_originx[index], sprite_originy[index], 0.0f ); //D3DXVECTOR3 vCenter( 0.0f, 0.0f, 0.0f ); D3DXVECTOR3 vPosition( x, y, 0.0f ); sprite_index[index]->Begin( D3DXSPRITE_ALPHABLEND ); sprite_index[index]->Draw( sprite_texture[index], &srcRect, &vCenter, &vPosition, D3DCOLOR_COLORVALUE(1.0f,1.0f,1.0f,1.0f) ); sprite_index[index]->End();