Code:
class CEngineSurfaceBase {
public:
CEngineSurfaceBase(long w, long h);
virtual ~CEngineSurfaceBase();
virtual void fill(unsigned short val);
virtual bool put_image(struct CEngineSurfaceBase *dst, int pos_x, int pos_y);
virtual bool get_image(struct CEngineSurfaceBase *src, int pos_x, int pos_y);
virtual int func_10(void) = 0;
virtual bool out_supported(void) = 0;
virtual unsigned char *get_out_buffer(void)
virtual void func_1C(int a2);
virtual unsigned char *get_data_buffer(long *len);
long width;
long height;
unsigned long line_len;
void *ptrfield_10;
};
class CEngineCompressedSurface public CEngineSurfaceBase {
public:
CEngineCompressedSurface();
virtual ~CEngineCompressedSurface();
virtual bool put_image(struct CEngineSurfaceBase *dst, int pos_x, int pos_y);
virtual bool get_image(struct CEngineSurfaceBase *src, int pos_x, int pos_y);
virtual int func_10(void);
virtual bool out_supported(void);
virtual unsigned char *get_data_buffer(long *len);
unsigned char *data;
long data_len;
};
Did you made any progress?