/usr/share/z88dk/include/lib3d.h is in z88dk-data 1.8.ds1-10.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | /*
lib3d.h
Structs for standard Wizard 3d and 4d math functions
Copyright© 2002, Mark Hamilton
*/
#define PI 3.14159265358979
typedef struct {
int x, y, z;
} Vector_t;
typedef struct {
int x, y;
} Point_t;
typedef struct {
int pitch, roll, yaw;
int x, y, z;
} Cam_t;
/* protos */
extern __LIB__ ozrotatepointx(Vector_t *v, int rot);
extern __LIB__ ozrotatepointy(Vector_t *v, int rot);
extern __LIB__ ozrotatepointz(Vector_t *v, int rot);
extern __LIB__ ozplotpointcam(Vector_t *v, Cam_t *c, Point_t *p);
extern __LIB__ ozplotpoint(Vector_t *v, Point_t *p);
extern __LIB__ ozcopyvector(Vector_t *dest, Vector_t *src);
extern __LIB__ oztranslatevector(Vector_t *v, Vector_t *offset);
/*
Integer sin functions taken from the lib3d library, OZ7xx DK
by Hamilton, Green and Pruss
isin and icos return a value from -16384 to +16384
*/
extern int __LIB__ isin(unsigned degrees); /* input must be between 0 and 360 */
extern int __LIB__ icos(unsigned degrees); /* input must be between 0 and 360 */
extern int __LIB__ div16384(long value); /* divide by 16384 */
|