123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- #ifndef R_PATCH_H
- #define R_PATCH_H
- typedef enum {
- RDRAW_EDGESLOPE_TOP_UP = (1<<0),
- RDRAW_EDGESLOPE_TOP_DOWN = (1<<1),
- RDRAW_EDGESLOPE_BOT_UP = (1<<2),
- RDRAW_EDGESLOPE_BOT_DOWN = (1<<3),
- RDRAW_EDGESLOPE_TOP_MASK = 0x3,
- RDRAW_EDGESLOPE_BOT_MASK = 0xc,
- } edgeslope_t;
- typedef struct {
- int topdelta;
- int length;
- edgeslope_t slope;
- } rpost_t;
- typedef struct {
- int numPosts;
- rpost_t *posts;
- unsigned char *pixels;
- } rcolumn_t;
- typedef struct {
- int width;
- int height;
- unsigned widthmask;
-
- unsigned char isNotTileable;
-
- int leftoffset;
- int topoffset;
-
-
-
- unsigned char *data;
-
-
- unsigned char *pixels;
- rcolumn_t *columns;
- rpost_t *posts;
- #ifdef TIMEDIAG
- int locktic;
- #endif
- unsigned int locks;
- } rpatch_t;
- const rpatch_t *R_CachePatchNum(int id);
- void R_UnlockPatchNum(int id);
- #define R_CachePatchName(name) R_CachePatchNum(W_GetNumForName(name))
- #define R_UnlockPatchName(name) R_UnlockPatchNum(W_GetNumForName(name))
- const rpatch_t *R_CacheTextureCompositePatchNum(int id);
- void R_UnlockTextureCompositePatchNum(int id);
- int R_NumPatchWidth(int lump) ;
- int R_NumPatchHeight(int lump);
- #define R_NamePatchWidth(name) R_NumPatchWidth(W_GetNumForName(name))
- #define R_NamePatchHeight(name) R_NumPatchHeight(W_GetNumForName(name))
- const rcolumn_t *R_GetPatchColumnWrapped(const rpatch_t *patch, int columnIndex);
- const rcolumn_t *R_GetPatchColumnClamped(const rpatch_t *patch, int columnIndex);
- const rcolumn_t *R_GetPatchColumn(const rpatch_t *patch, int columnIndex);
- void R_InitPatches();
- void R_FlushAllPatches();
- #endif
|