aboutsummaryrefslogtreecommitdiff
path: root/fns.h
diff options
context:
space:
mode:
authorrodri <rgl@antares-labs.eu>2023-01-29 22:27:33 +0000
committerrodri <rgl@antares-labs.eu>2023-01-29 22:27:33 +0000
commite70ecd9d84578dad435a39b40592f9a7cd1908d3 (patch)
tree0abadddf4f131a1aa30fed5a3a434805868fa1e6 /fns.h
downloadqball-e70ecd9d84578dad435a39b40592f9a7cd1908d3.tar.gz
qball-e70ecd9d84578dad435a39b40592f9a7cd1908d3.tar.bz2
qball-e70ecd9d84578dad435a39b40592f9a7cd1908d3.zip
initial public release.
the original qball doesn't seem to work at all. burnzez's qb adaptation has proven to be very close, with some minor modifications, but still doesn't get it.
Diffstat (limited to 'fns.h')
-rw-r--r--fns.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/fns.h b/fns.h
new file mode 100644
index 0000000..10e16b0
--- /dev/null
+++ b/fns.h
@@ -0,0 +1,46 @@
+int objread(char *, Triangle3 **);
+Triangle Trian(int, int, int, int, int, int);
+Triangle Trianpt(Point, Point, Point);
+Point centroid(Triangle);
+void triangle(Image *, Triangle, int, Image *, Point);
+void filltriangle(Image *, Triangle, Image *, Point);
+Triangle rotatriangle(Triangle, double, Point);
+Vector Vec(double, double);
+Vector addvec(Vector, Vector);
+Vector subvec(Vector, Vector);
+Vector mulvec(Vector, double);
+double dotvec(Vector, Vector);
+Vector normvec(Vector);
+Vector3 Vec3(double, double, double);
+Vector3 Vecquat(Quaternion);
+Vector3 addvec3(Vector3, Vector3);
+Vector3 subvec3(Vector3, Vector3);
+Vector3 mulvec3(Vector3, double);
+double dotvec3(Vector3, Vector3);
+Vector3 crossvec(Vector3, Vector3);
+Vector3 normvec3(Vector3);
+void addm(Matrix, Matrix);
+void subm(Matrix, Matrix);
+void mulm(Matrix, Matrix);
+void transm(Matrix);
+double detm(Matrix);
+Vector3 mulvecm(Vector3, Matrix);
+Quaternion Quat(double, double, double, double);
+Quaternion Quatvec(double, Vector3);
+Quaternion addq(Quaternion, Quaternion);
+Quaternion subq(Quaternion, Quaternion);
+Quaternion mulq(Quaternion, Quaternion);
+Quaternion smulq(Quaternion, double);
+Quaternion sdivq(Quaternion, double);
+double dotq(Quaternion, Quaternion);
+Quaternion invq(Quaternion);
+double qlen(Quaternion);
+Quaternion normq(Quaternion);
+Vector3 qrotate(Vector3, Vector3, double);
+void qball(Rectangle, Point, Quaternion*, Quaternion*);
+void qb(Rectangle, Point, Point, Quaternion*, Quaternion*);
+double round(double);
+Point rotatept(Point, double, Point);
+double hypot3(double, double, double);
+void *emalloc(ulong);
+void *erealloc(void *, ulong);