|
|
@@ -46,6 +46,8 @@ struct PackageHeader
|
|
|
uint32_t sounds_offset;
|
|
|
uint32_t num_meshes;
|
|
|
uint32_t meshes_offset;
|
|
|
+ uint32_t num_sprites;
|
|
|
+ uint32_t sprites_offset;
|
|
|
};
|
|
|
|
|
|
class PackageResource
|
|
|
@@ -120,6 +122,14 @@ public:
|
|
|
return ((PackageHeader*)m_data)->num_meshes;
|
|
|
}
|
|
|
|
|
|
+ //-----------------------------------------------------------------------------
|
|
|
+ uint32_t num_sprites() const
|
|
|
+ {
|
|
|
+ CE_ASSERT_NOT_NULL(m_data);
|
|
|
+
|
|
|
+ return ((PackageHeader*)m_data)->num_sprites;
|
|
|
+ }
|
|
|
+
|
|
|
//-----------------------------------------------------------------------------
|
|
|
ResourceId get_texture_id(uint32_t i) const
|
|
|
{
|
|
|
@@ -156,6 +166,15 @@ public:
|
|
|
return begin[i];
|
|
|
}
|
|
|
|
|
|
+ //-----------------------------------------------------------------------------
|
|
|
+ ResourceId get_sprite_id(uint32_t i) const
|
|
|
+ {
|
|
|
+ CE_ASSERT(i < num_sprites(), "Index out of bounds");
|
|
|
+
|
|
|
+ ResourceId* begin = (ResourceId*) (m_data + ((PackageHeader*)m_data)->sprites_offset);
|
|
|
+ return begin[i];
|
|
|
+ }
|
|
|
+
|
|
|
private:
|
|
|
|
|
|
char* m_data;
|