aboutsummaryrefslogtreecommitdiff
path: root/Src/Winamp/plush/PL_DEFS.H
diff options
context:
space:
mode:
authorJean-Francois Mauguit <jfmauguit@mac.com>2024-09-24 09:03:25 -0400
committerGitHub <noreply@github.com>2024-09-24 09:03:25 -0400
commitbab614c421ed7ae329d26bf028c4a3b1d2450f5a (patch)
tree12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/Winamp/plush/PL_DEFS.H
parent4bde6044fddf053f31795b9eaccdd2a5a527d21f (diff)
parent20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (diff)
downloadwinamp-bab614c421ed7ae329d26bf028c4a3b1d2450f5a.tar.gz
Merge pull request #5 from WinampDesktop/community
Merge to main
Diffstat (limited to 'Src/Winamp/plush/PL_DEFS.H')
-rw-r--r--Src/Winamp/plush/PL_DEFS.H62
1 files changed, 62 insertions, 0 deletions
diff --git a/Src/Winamp/plush/PL_DEFS.H b/Src/Winamp/plush/PL_DEFS.H
new file mode 100644
index 00000000..f101810f
--- /dev/null
+++ b/Src/Winamp/plush/PL_DEFS.H
@@ -0,0 +1,62 @@
+/******************************************************************************
+ pl_defs.h
+ PLUSH 3D VERSION 1.2 CONSTANTS DEFINITION HEADER
+ Copyright (c) 1996-2000, Justin Frankel
+******************************************************************************/
+
+#ifndef _PL_DEFS_H_
+#define _PL_DEFS_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* pi! */
+#define PL_PI 3.14159265359
+
+/* Utility min() and max() functions */
+#define plMin(x,y) (( ( x ) > ( y ) ? ( y ) : ( x )))
+#define plMax(x,y) (( ( x ) < ( y ) ? ( y ) : ( x )))
+
+/*
+** Shade modes. Used with plMat.ShadeType
+** Note that (PL_SHADE_GOURAUD|PL_SHADE_GOURAUD_DISTANCE) and
+** (PL_SHADE_FLAT|PL_SHADE_FLAT_DISTANCE) are valid shading modes.
+*/
+#define PL_SHADE_NONE (1)
+#define PL_SHADE_FLAT (2)
+#define PL_SHADE_FLAT_DISTANCE (4)
+#define PL_SHADE_GOURAUD (8)
+#define PL_SHADE_GOURAUD_DISTANCE (16)
+
+/*
+** Light modes. Used with plLight.Type or plLightSet().
+** Note that PL_LIGHT_POINT_ANGLE assumes no falloff and uses the angle between
+** the light and the point, PL_LIGHT_POINT_DISTANCE has falloff with proportion
+** to distance**2 (see plLightSet() for setting it), PL_LIGHT_POINT does both.
+*/
+#define PL_LIGHT_NONE (0x0)
+#define PL_LIGHT_VECTOR (0x1)
+#define PL_LIGHT_POINT (0x2|0x4)
+#define PL_LIGHT_POINT_DISTANCE (0x2)
+#define PL_LIGHT_POINT_ANGLE (0x4)
+
+/* Used internally; PL_FILL_* are stored in plMat._st. */
+#define PL_FILL_SOLID (0x0)
+#define PL_FILL_TEXTURE (0x1)
+#define PL_FILL_ENVIRONMENT (0x2)
+#define PL_FILL_TRANSPARENT (0x4)
+
+#define PL_TEXENV_ADD (0)
+#define PL_TEXENV_MUL (1)
+#define PL_TEXENV_AVG (2)
+#define PL_TEXENV_TEXMINUSENV (3)
+#define PL_TEXENV_ENVMINUSTEX (4)
+#define PL_TEXENV_MIN (5)
+#define PL_TEXENV_MAX (6)
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* !_PL_DEFS_H_ */