aboutsummaryrefslogtreecommitdiff
path: root/libpsn00b/include/psxgte.h
diff options
context:
space:
mode:
authorspicyjpeg <thatspicyjpeg@gmail.com>2022-07-30 00:53:31 +0200
committerspicyjpeg <thatspicyjpeg@gmail.com>2022-07-30 00:53:31 +0200
commit073a859acf16ccbc0f49364e38126bf2bf03aa3d (patch)
tree90fac6072c5fe3ccee0505c881f89aa262d4eed7 /libpsn00b/include/psxgte.h
parent0e755e9801a2dcf7b9827c90cc38e9f532d06393 (diff)
downloadpsn00bsdk-073a859acf16ccbc0f49364e38126bf2bf03aa3d.tar.gz
Deprecate u_short, u_int and u_long types in libpsn00b
Diffstat (limited to 'libpsn00b/include/psxgte.h')
-rw-r--r--libpsn00b/include/psxgte.h54
1 files changed, 30 insertions, 24 deletions
diff --git a/libpsn00b/include/psxgte.h b/libpsn00b/include/psxgte.h
index 7c10533..ddc988d 100644
--- a/libpsn00b/include/psxgte.h
+++ b/libpsn00b/include/psxgte.h
@@ -1,44 +1,45 @@
-#ifndef _PSXGTE_H
-#define _PSXGTE_H
+/*
+ * PSn00bSDK GTE library
+ * (C) 2019-2022 Lameguy64 - MPL licensed
+ */
+#ifndef __PSXGTE_H
+#define __PSXGTE_H
-#define ONE 4096
+#include <stdint.h>
+#define ONE (1 << 12)
-// For compatibility with official library syntax
-#define csin(a) isin(a)
-#define ccos(a) icos(a)
-#define rsin(a) isin(a)
-#define rcos(a) icos(a)
-
+/* Structure definitions */
-typedef struct MATRIX {
- short m[3][3];
- int t[3];
+typedef struct _MATRIX {
+ int16_t m[3][3];
+ int32_t t[3];
} MATRIX;
-typedef struct VECTOR {
- int vx, vy, vz;
+typedef struct _VECTOR {
+ int32_t vx, vy, vz;
} VECTOR;
-typedef struct SVECTOR {
- short vx, vy, vz, pad;
+typedef struct _SVECTOR {
+ int16_t vx, vy, vz, pad;
} SVECTOR;
-typedef struct CVECTOR {
- unsigned char r, g, b, cd;
+typedef struct _CVECTOR {
+ uint8_t r, g, b, cd;
} CVECTOR;
-typedef struct DVECTOR {
- short vx, vy;
+typedef struct _DVECTOR {
+ int16_t vx, vy;
} DVECTOR;
+/* Public API */
#ifdef __cplusplus
extern "C" {
#endif
-void InitGeom();
+void InitGeom(void);
// Integer SIN/COS functions (4096 = 360 degrees)
// Does not use tables!
@@ -70,11 +71,16 @@ void VectorNormalS(VECTOR *v0, SVECTOR *v1);
void Square0(VECTOR *v0, VECTOR *v1);
-int SquareRoot12( int v );
-int SquareRoot0( int v );
+int SquareRoot12(int v);
+int SquareRoot0(int v);
+
+#define csin(a) isin(a)
+#define ccos(a) icos(a)
+#define rsin(a) isin(a)
+#define rcos(a) icos(a)
#ifdef __cplusplus
}
#endif
-#endif // _PSXGTE_H
+#endif