mirror of
https://github.com/luanti-org/luanti.git
synced 2025-08-06 17:41:04 +00:00
Hardware coloring for itemstacks
Adds the possibility to colorize item stacks based on their metadata. In the item/node definition you can specify palette (an image file) and color (fallback color if the item has no palette or metadata). Then you can add palette_index to the metadata. Dropped itemstacks with different colors do not merge.
This commit is contained in:
parent
d4e9dd4643
commit
58d83a7bb2
23 changed files with 308 additions and 139 deletions
|
@ -33,6 +33,8 @@ class IGameDef;
|
|||
struct TileSpec;
|
||||
struct TileDef;
|
||||
|
||||
typedef std::vector<video::SColor> Palette;
|
||||
|
||||
/*
|
||||
tile.{h,cpp}: Texture handling stuff.
|
||||
*/
|
||||
|
@ -106,14 +108,15 @@ public:
|
|||
const std::string &name, u32 *id = NULL)=0;
|
||||
virtual video::ITexture* getTextureForMesh(
|
||||
const std::string &name, u32 *id = NULL) = 0;
|
||||
/*!
|
||||
* Returns a palette from the given texture name.
|
||||
* The pointer is valid until the texture source is
|
||||
* destructed.
|
||||
* Should be called from the main thread.
|
||||
*/
|
||||
virtual Palette* getPalette(const std::string &name) = 0;
|
||||
virtual IrrlichtDevice* getDevice()=0;
|
||||
virtual bool isKnownSourceImage(const std::string &name)=0;
|
||||
/*! Generates an image from a full string like
|
||||
* "stone.png^mineral_coal.png^[crack:1:0".
|
||||
* Shall be called from the main thread.
|
||||
* The returned Image should be dropped.
|
||||
*/
|
||||
virtual video::IImage* generateImage(const std::string &name)=0;
|
||||
virtual video::ITexture* generateTextureFromMesh(
|
||||
const TextureFromMeshParams ¶ms)=0;
|
||||
virtual video::ITexture* getNormalTexture(const std::string &name)=0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue