X-Git-Url: http://git.draconx.ca/gitweb/upkg.git/blobdiff_plain/d32d8618e0dcf6e83872394f68fd1770d6bd803f..947f12306d4236c63a7f3449191ec8337ee42469:/src/engine/texture.c diff --git a/src/engine/texture.c b/src/engine/texture.c index f0f0aaa..90cca6e 100644 --- a/src/engine/texture.c +++ b/src/engine/texture.c @@ -22,7 +22,8 @@ #include #include -#include "texture.h" +#include +#include #include "upkg.h" #define TEXTURE_GET_PRIV(o) \ @@ -36,6 +37,7 @@ enum { PROP_VCLAMP, PROP_UBITS, PROP_VBITS, + PROP_PALETTE, }; struct texture_priv { @@ -52,7 +54,7 @@ void exportable_init(UObjectExportable *e) { } -G_DEFINE_DYNAMIC_TYPE(EngineTexture, engine_texture, U_OBJECT_TYPE); +G_DEFINE_DYNAMIC_TYPE(EngineTexture, engine_texture, U_TYPE_OBJECT); static int deserialize(UObject *uo) { @@ -93,6 +95,9 @@ set_property(GObject *o, guint id, const GValue *val, GParamSpec *spec) case PROP_VBITS: t->vbits = g_value_get_uint(val); break; + case PROP_PALETTE: + t->palette = g_value_get_object(val); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(o, id, spec); } @@ -122,6 +127,9 @@ get_property(GObject *o, guint id, GValue *val, GParamSpec *spec) case PROP_VBITS: g_value_set_uint(val, t->vbits); break; + case PROP_PALETTE: + g_value_set_object(val, t->palette); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(o, id, spec); } @@ -179,6 +187,12 @@ static void engine_texture_class_init(EngineTextureClass *class) "???", 0, 64, 0, G_PARAM_READWRITE)); + g_object_class_install_property(go, PROP_PALETTE, + g_param_spec_object("Palette", + "Palette", + "Palette reference for the texture.", + ENGINE_PALETTE_TYPE, + G_PARAM_READWRITE)); } static void engine_texture_class_finalize(EngineTextureClass *class)