Tuple operations
This commit is contained in:
@@ -39,6 +39,54 @@ extern f32 fabsf(f32);
|
||||
dst[2] = src[2];\
|
||||
}
|
||||
|
||||
#define TUPLE_ADD(dst, vec) { \
|
||||
dst[0] += vec[0]; \
|
||||
dst[1] += vec[1]; \
|
||||
dst[2] += vec[2]; \
|
||||
}
|
||||
|
||||
#define TUPLE_ADD_COPY(dst, vec1, vec2) { \
|
||||
dst[0] = vec1[0] + vec2[0]; \
|
||||
dst[1] = vec1[1] + vec2[1]; \
|
||||
dst[2] = vec1[2] + vec2[2]; \
|
||||
}
|
||||
|
||||
#define TUPLE_DIFF(dst, vec) { \
|
||||
dst[0] -= vec[0]; \
|
||||
dst[1] -= vec[1]; \
|
||||
dst[2] -= vec[2]; \
|
||||
}
|
||||
|
||||
#define TUPLE_DIFF_COPY(dst, vec1, vec2) { \
|
||||
dst[0] = vec1[0] - vec2[0]; \
|
||||
dst[1] = vec1[1] - vec2[1]; \
|
||||
dst[2] = vec1[2] - vec2[2]; \
|
||||
}
|
||||
|
||||
#define TUPLE_MULTIPLY_COPY(dst, vec1, vec2) { \
|
||||
dst[0] = vec1[0] * vec2[0]; \
|
||||
dst[1] = vec1[1] * vec2[1]; \
|
||||
dst[2] = vec1[2] * vec2[2]; \
|
||||
}
|
||||
|
||||
#define TUPLE_SCALE(vec, value) { \
|
||||
vec[0] *= value; \
|
||||
vec[1] *= value; \
|
||||
vec[2] *= value; \
|
||||
}
|
||||
|
||||
#define TUPLE_SCALE_COPY(dst, vec, value) { \
|
||||
dst[0] = vec[0] * value; \
|
||||
dst[1] = vec[1] * value; \
|
||||
dst[2] = vec[2] * value; \
|
||||
}
|
||||
|
||||
#define TUPLE_CROSS_PRODUCT(dst, vec1, vec2) { \
|
||||
dst[0] = vec1[1] * vec2[2] - vec1[2] * vec2[1]; \
|
||||
dst[1] = vec1[2] * vec2[0] - vec1[0] * vec2[2]; \
|
||||
dst[2] = vec1[0] * vec2[1] - vec1[1] * vec2[0]; \
|
||||
}
|
||||
|
||||
#define v3Copy(dst, src) {\
|
||||
dst[0] = src[0];\
|
||||
dst[1] = src[1];\
|
||||
@@ -52,6 +100,9 @@ extern f32 fabsf(f32);
|
||||
}
|
||||
|
||||
#define LENGTH_SQ_VEC3F(v) (v[0]*v[0] + v[1]*v[1] + v[2]*v[2])
|
||||
#define LENGTH_VEC3F(v) gu_sqrtf(LENGTH_SQ_VEC3F(v))
|
||||
|
||||
#define TUPLE_DOT_PRODUCT(vec1, vec2) (vec1[0] * vec2[0] + vec1[1] * vec2[1] + vec1[2] * vec2[2])
|
||||
|
||||
//known it uses "+" instead of "|" for fight/code_9D40.c, func_8039049C, case 6
|
||||
#define FUNC_8030E624(sfx_e, vol, sample_rate) func_8030E624(\
|
||||
|
Reference in New Issue
Block a user