44 if (
Q_streq(name, textureref[i].name)) {
49 Q_strncpyz(textureref[i].name, name,
sizeof(textureref[i].name));
57 {0,0,1}, {1,0,0}, {0,-1,0},
58 {0,0,-1}, {1,0,0}, {0,-1,0},
59 {1,0,0}, {0,1,0}, {0,0,-1},
60 {-1,0,0}, {0,1,0}, {0,0,-1},
61 {0,1,0}, {1,0,0}, {0,0,-1},
62 {0,-1,0}, {1,0,0}, {0,0,-1}
68 int numaxis = (isTerrain) ? 2 : 6;
73 for (
int i = 0;
i < numaxis;
i++) {
93 vec_t ang, sinv, cosv;
123 }
else if (bt->
rotate == 90) {
126 }
else if (bt->
rotate == 180) {
129 }
else if (bt->
rotate == 270) {
138 shift[0] = cosv * shift[0] - sinv * shift[1];
139 shift[1] = sinv * shift[0] + cosv * shift[1];
155 for (i = 0; i < 2; i++) {
156 const vec_t ns = cosv * vecs[
i][
sv] - sinv * vecs[
i][tv];
157 const vec_t nt = sinv * vecs[
i][
sv] + cosv * vecs[
i][tv];
162 for (i = 0; i < 2; i++)
163 for (j = 0; j < 3; j++)
164 tx.
vecs[i][j] = vecs[i][j] / bt->
scale[i];
182 for (j = 0; j < 2; j++) {
183 for (
int k = 0; k < 4; k++) {
184 if (tc->
vecs[j][k] != tx.
vecs[j][k])
static void TextureAxisFromPlane(plane_t *pln, vec3_t xv, vec3_t yv, bool isTerrain)
static ipos3_t shift
The shift array is used for random map assemblies (RMA) to shift the mins/maxs and stuff like that...
#define VectorCopy(src, dest)
void Sys_Error(const char *error,...)
textureref_t textureref[MAX_MAP_TEXTURES]
int TexinfoForBrushTexture(plane_t *plane, brush_texture_t *bt, const vec3_t origin, bool isTerrain)
#define VectorScale(in, scale, out)
static const vec3_t baseaxis[18]
serverInstanceGame_t * sv
dBspTexinfo_t texinfo[MAX_MAP_TEXINFO]
void Q_strncpyz(char *dest, const char *src, size_t destsize)
Safe strncpy that ensures a trailing zero.
#define DotProduct(x, y)
Returns the distance between two 3-dimensional vectors.
QGL_EXTERN GLuint GLsizei GLsizei GLint GLenum GLchar * name
int FindMiptex(const char *name)