Skip to content

Commit 1f7d9f3

Browse files
committed
Polymost: indexed hightiles
1 parent 865dda0 commit 1f7d9f3

File tree

5 files changed

+232
-132
lines changed

5 files changed

+232
-132
lines changed

source/build/include/hightile.h

+1
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ enum
104104

105105
HICR_NODOWNSIZE = 16,
106106
HICR_ARTIMMUNITY = 32,
107+
HICR_INDEXED = 64,
107108
};
108109

109110
// hictinting[].f / gloadtile_hi() and mdloadskin() <effect> arg bits

source/build/include/polymost.h

+2
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,8 @@ EDUKE32_STATIC_ASSERT(TO_DAMETH_NODOWNSIZE(HICR_NODOWNSIZE) == DAMETH_NODOWNSIZE
231231
EDUKE32_STATIC_ASSERT(TO_DAMETH_NOTEXCOMPRESS(HICR_NOTEXCOMPRESS) == DAMETH_NOTEXCOMPRESS);
232232
#define TO_DAMETH_ARTIMMUNITY(hicr_flags) (((hicr_flags)&HICR_ARTIMMUNITY)<<13)
233233
EDUKE32_STATIC_ASSERT(TO_DAMETH_ARTIMMUNITY(HICR_ARTIMMUNITY) == DAMETH_ARTIMMUNITY);
234+
#define TO_DAMETH_INDEXED(hicr_flags) (((hicr_flags)&HICR_INDEXED)<<3)
235+
EDUKE32_STATIC_ASSERT(TO_DAMETH_INDEXED(HICR_INDEXED) == DAMETH_INDEXED);
234236

235237
// Do we want a NPOT-y-as-classic texture for this <dameth> and <ysiz>?
236238
static FORCE_INLINE int polymost_want_npotytex(int32_t dameth, int32_t ysiz)

source/build/src/defs.cpp

+7
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ enum scripttoken_t
8282
T_TEXTURE,T_ALPHACUT,T_XSCALE,T_YSCALE,T_SPECPOWER,T_SPECFACTOR,T_NOCOMPRESS,T_NODOWNSIZE,
8383
T_FORCEFILTER,
8484
T_ARTQUALITY,
85+
T_INDEXED,
8586
T_ORIGSIZEX,T_ORIGSIZEY,
8687
T_UNDEFMODEL,T_UNDEFMODELRANGE,T_UNDEFMODELOF,T_UNDEFTEXTURE,T_UNDEFTEXTURERANGE,
8788
T_ALPHAHACK,T_ALPHAHACKRANGE,
@@ -2032,6 +2033,7 @@ static int32_t defsparser(scriptfile *script)
20322033
{ "nodownsize", T_NODOWNSIZE },
20332034
{ "forcefilter", T_FORCEFILTER },
20342035
{ "artquality", T_ARTQUALITY },
2036+
{ "indexed", T_INDEXED },
20352037
};
20362038

20372039
if (scriptfile_getbraces(script,&modelend)) break;
@@ -2065,6 +2067,8 @@ static int32_t defsparser(scriptfile *script)
20652067
flags |= HICR_FORCEFILTER; break;
20662068
case T_ARTQUALITY:
20672069
flags |= HICR_ARTIMMUNITY; break;
2070+
case T_INDEXED:
2071+
flags |= HICR_INDEXED|HICR_NOTEXCOMPRESS|HICR_NODOWNSIZE; break;
20682072
#endif
20692073
}
20702074
}
@@ -2385,6 +2389,7 @@ static int32_t defsparser(scriptfile *script)
23852389
{ "nodownsize", T_NODOWNSIZE },
23862390
{ "forcefilter", T_FORCEFILTER },
23872391
{ "artquality", T_ARTQUALITY },
2392+
{ "indexed", T_INDEXED },
23882393
{ "orig_sizex", T_ORIGSIZEX }, { "orig_sizey", T_ORIGSIZEY }
23892394
};
23902395

@@ -2415,6 +2420,8 @@ static int32_t defsparser(scriptfile *script)
24152420
flags |= HICR_FORCEFILTER; break;
24162421
case T_ARTQUALITY:
24172422
flags |= HICR_ARTIMMUNITY; break;
2423+
case T_INDEXED:
2424+
flags |= HICR_INDEXED|HICR_NOTEXCOMPRESS|HICR_NODOWNSIZE; break;
24182425
#endif
24192426
case T_ORIGSIZEX:
24202427
scriptfile_getnumber(script, &xsiz);

0 commit comments

Comments
 (0)