diff --git a/engine/client/keys.c b/engine/client/keys.c index 176db031..440e7888 100644 --- a/engine/client/keys.c +++ b/engine/client/keys.c @@ -322,6 +322,16 @@ keyname_t keynames[] = {"GP_RTHUMB_LEFT", K_GP_RIGHT_THUMB_LEFT}, {"GP_RTHUMB_RIGHT", K_GP_RIGHT_THUMB_RIGHT}, +#ifdef Q2BSPS + //kingpin compat + {"ESC", K_ESCAPE}, + {"B_SPACE", K_BACKSPACE}, + {"U_ARROW", K_UPARROW}, + {"D_ARROW", K_DOWNARROW}, + {"L_ARROW", K_LEFTARROW}, + {"R_ARROW", K_RIGHTARROW}, +#endif + #ifndef QUAKETC //dp compat {"X360_DPAD_UP", K_GP_DPAD_UP}, diff --git a/engine/common/bspfile.h b/engine/common/bspfile.h index efd00671..96c84f7e 100644 --- a/engine/common/bspfile.h +++ b/engine/common/bspfile.h @@ -639,8 +639,15 @@ typedef struct #define TI_TRANS66 0x20 #define TI_FLOWING 0x40 // scroll towards angle #define TI_NODRAW 0x80 // don't bother referencing the texture +//#define TI_HINT 0x100 // handled by tools, engine can ignore. +//#define TI_SKIP 0x200 // handled by tools, engine can ignore. -#define TI_ALPHATEST 0x100 +//#define TI_KINGPIN_SPECULAR 0x400 +//#define TI_KINGPIN_DIFFUSE 0x800 +#define TI_KINGPIN_ALPHATEST 0x1000 //regular alphatest +//#define TI_KINGPIN_MIRROR 0x2000 +//#define TI_KINGPIN_WNDW33 0x4000 +//#define TI_KINGPIN_WNDW64 0x8000 //Surface flags //#define Q3SURFACEFLAG_NODAMAGE 0x1 // never give falling damage diff --git a/engine/common/gl_q2bsp.c b/engine/common/gl_q2bsp.c index e25f21e0..ce5a0574 100644 --- a/engine/common/gl_q2bsp.c +++ b/engine/common/gl_q2bsp.c @@ -1438,6 +1438,8 @@ static qboolean CModQ2_LoadTexInfo (model_t *mod, qbyte *mod_base, lump_t *l, ch Q_strncatz(sname, "#ALPHA=0.66", sizeof(sname)); else if (out->flags & TI_TRANS33) Q_strncatz(sname, "#ALPHA=0.33", sizeof(sname)); + else if (out->flags & TI_KINGPIN_ALPHATEST) //kingpin... + Q_strncatz(sname, "#MASK=0.666#MASKLT", sizeof(sname)); else if (out->flags & (TI_WARP)) Q_strncatz(sname, "#ALPHA=1", sizeof(sname)); if (in->nexttexinfo != -1) //used to ensure non-looping and looping don't conflict and get confused.