aboutsummaryrefslogtreecommitdiff
path: root/textures/base/pack
ModeNameSize
-rw-r--r--chat_btn.png777logplain
-rw-r--r--dirt_bg.png1586logplain
-rw-r--r--disable_img.png150logplain
-rw-r--r--down.png1917logplain
-rw-r--r--down_arrow.png843logplain
-rw-r--r--enable_img.png160logplain
-rw-r--r--inventory_btn.png733logplain
-rw-r--r--jump_btn.png621logplain
-rw-r--r--ladder_down.png2299logplain
-rw-r--r--left_arrow.png742logplain
-rw-r--r--logo.png12190logplain
-rw-r--r--menu_header.png133115logplain
-rw-r--r--no_screenshot.png2446logplain
-rw-r--r--right_arrow.png770logplain
-rw-r--r--smoke_puff.png1334logplain
-rw-r--r--sunrisebg.png4587logplain
-rw-r--r--unknown_item.png294logplain
-rw-r--r--unknown_node.png193logplain
-rw-r--r--unknown_object.png254logplain
-rw-r--r--up_arrow.png704logplain
class="hl opt">]; memcpy(data, buffer.data, buffer.m_size); } else data = NULL; } Buffer(const T *t, unsigned int size) { m_size = size; if(size != 0) { data = new T[size]; memcpy(data, t, size); } else data = NULL; } ~Buffer() { drop(); } Buffer& operator=(const Buffer &buffer) { if(this == &buffer) return *this; drop(); m_size = buffer.m_size; if(m_size != 0) { data = new T[buffer.m_size]; memcpy(data, buffer.data, buffer.m_size); } else data = NULL; return *this; } T & operator[](unsigned int i) const { return data[i]; } T * operator*() const { return data; } unsigned int getSize() const { return m_size; } private: void drop() { delete[] data; } T *data; unsigned int m_size; }; /************************************************ * !!! W A R N I N G !!! * * * * This smart pointer class is NOT thread safe. * * ONLY use in a single-threaded context! * * * ************************************************/ template <typename T> class SharedBuffer { public: SharedBuffer() { m_size = 0; data = NULL; refcount = new unsigned int; (*refcount) = 1; } SharedBuffer(unsigned int size) { m_size = size; if(m_size != 0) data = new T[m_size]; else data = NULL; refcount = new unsigned int; memset(data,0,sizeof(T)*m_size); (*refcount) = 1; } SharedBuffer(const SharedBuffer &buffer) { m_size = buffer.m_size; data = buffer.data; refcount = buffer.refcount; (*refcount)++; } SharedBuffer & operator=(const SharedBuffer & buffer) { if(this == &buffer) return *this; drop(); m_size = buffer.m_size; data = buffer.data; refcount = buffer.refcount; (*refcount)++; return *this; } /* Copies whole buffer */ SharedBuffer(const T *t, unsigned int size) { m_size = size; if(m_size != 0) { data = new T[m_size]; memcpy(data, t, m_size); } else data = NULL; refcount = new unsigned int; (*refcount) = 1; } /* Copies whole buffer */ SharedBuffer(const Buffer<T> &buffer) { m_size = buffer.getSize(); if (m_size != 0) { data = new T[m_size]; memcpy(data, *buffer, buffer.getSize()); } else data = NULL; refcount = new unsigned int; (*refcount) = 1; } ~SharedBuffer() { drop(); } T & operator[](unsigned int i) const { assert(i < m_size); return data[i]; } T * operator*() const { return data; } unsigned int getSize() const { return m_size; } operator Buffer<T>() const { return Buffer<T>(data, m_size); } private: void drop() { assert((*refcount) > 0); (*refcount)--; if(*refcount == 0) { delete[] data; delete refcount; } } T *data; unsigned int m_size; unsigned int *refcount; };