Explorar o código

update PackageResource according to Sprites implementation

mikymod %!s(int64=12) %!d(string=hai) anos
pai
achega
f19b6f2b5d
Modificáronse 1 ficheiros con 19 adicións e 0 borrados
  1. 19 0
      engine/resource/PackageResource.h

+ 19 - 0
engine/resource/PackageResource.h

@@ -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;