summaryrefslogtreecommitdiffstats
path: root/apps/plugins/sdl
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/sdl')
-rw-r--r--apps/plugins/sdl/progs/quake/d_local.h34
-rw-r--r--apps/plugins/sdl/progs/quake/d_vars.c20
-rw-r--r--apps/plugins/sdl/progs/quake/quakedef.h2
3 files changed, 53 insertions, 3 deletions
diff --git a/apps/plugins/sdl/progs/quake/d_local.h b/apps/plugins/sdl/progs/quake/d_local.h
index af924899e5..781aea06d4 100644
--- a/apps/plugins/sdl/progs/quake/d_local.h
+++ b/apps/plugins/sdl/progs/quake/d_local.h
@@ -66,11 +66,41 @@ extern float d_sdivzstepu, d_tdivzstepu, d_zistepu;
extern float d_sdivzstepv, d_tdivzstepv, d_zistepv;
extern float d_sdivzorigin, d_tdivzorigin, d_ziorigin;
-fixed16_t sadjust, tadjust;
-fixed16_t bbextents, bbextentt;
+extern int d_zistepu_fxp, d_zistepv_fxp, d_ziorigin_fxp;
+
+#ifdef USE_PQ_OPT3
+extern int d_sdivzstepu_fxp, d_tdivzstepu_fxp, d_zistepu_fxp;
+extern int d_sdivzstepv_fxp, d_tdivzstepv_fxp, d_zistepv_fxp;
+extern int d_sdivzorigin_fxp, d_tdivzorigin_fxp, d_ziorigin_fxp;
+#endif
+
+
+#ifdef USE_PQ_OPT
+//JB:Optimization
+//FW: disable
+//extern int sdivzstepu, tdivzstepu, zistepu;
+//extern int sdivzstepv, tdivzstepv, zistepv;
+//extern int sdivzorigin, tdivzorigin, ziorigin;
+#endif
+
+extern fixedpoint_t d_sdivzstepuFPM, d_tdivzstepuFPM, d_zistepuFPM;
+extern fixedpoint_t d_sdivzstepvFPM, d_tdivzstepvFPM, d_zistepvFPM;
+extern fixedpoint_t d_sdivzoriginFPM, d_tdivzoriginFPM, d_zioriginFPM;
+
+//Dan: ID Software was already using a minute amount of fixed point. I duplicated
+//these just for consistancy in the conversion, and so the types would match.
+fixed16_t sadjust, tadjust;
+fixed16_t bbextents, bbextentt;
+fixedpoint_t sadjustFPM, tadjustFPM;
+fixedpoint_t bbextentsFPM, bbextenttFPM;
void D_DrawSpans8 (espan_t *pspans);
+#ifdef USE_PQ_OPT
+//JB:Optimization
+void D_DrawSpans8WithZ (espan_t *pspans);
+#endif
+void D_DrawSpans8FPM (espan_t *pspans);
void D_DrawSpans16 (espan_t *pspans);
void D_DrawZSpans (espan_t *pspans);
void Turbulent8 (espan_t *pspan);
diff --git a/apps/plugins/sdl/progs/quake/d_vars.c b/apps/plugins/sdl/progs/quake/d_vars.c
index 88cc841ab8..f9db12dd06 100644
--- a/apps/plugins/sdl/progs/quake/d_vars.c
+++ b/apps/plugins/sdl/progs/quake/d_vars.c
@@ -36,6 +36,26 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
float d_sdivzstepu, d_tdivzstepu, d_zistepu;
float d_sdivzstepv, d_tdivzstepv, d_zistepv;
float d_sdivzorigin, d_tdivzorigin, d_ziorigin;
+#ifdef USE_PQ_OPT3
+int d_sdivzstepu_fxp, d_tdivzstepu_fxp, d_zistepu_fxp;
+int d_sdivzstepv_fxp, d_tdivzstepv_fxp, d_zistepv_fxp;
+int d_sdivzorigin_fxp, d_tdivzorigin_fxp, d_ziorigin_fxp;
+#endif
+
+int d_ziorigin_fxp, d_zistepv_fxp, d_zistepu_fxp;
+
+#ifdef USE_PQ_OPT
+//JB: Optimization
+int sdivzstepu, tdivzstepu, zistepu;
+int sdivzstepv, tdivzstepv, zistepv;
+int sdivzorigin, tdivzorigin, ziorigin;
+#endif
+
+#ifdef USEFPM
+fixedpoint_t d_sdivzstepuFPM, d_tdivzstepuFPM, d_zistepuFPM;
+fixedpoint_t d_sdivzstepvFPM, d_tdivzstepvFPM, d_zistepvFPM;
+fixedpoint_t d_sdivzoriginFPM, d_tdivzoriginFPM, d_zioriginFPM;
+#endif
fixed16_t sadjust, tadjust, bbextents, bbextentt;
diff --git a/apps/plugins/sdl/progs/quake/quakedef.h b/apps/plugins/sdl/progs/quake/quakedef.h
index fe9245e851..b629eeb3b2 100644
--- a/apps/plugins/sdl/progs/quake/quakedef.h
+++ b/apps/plugins/sdl/progs/quake/quakedef.h
@@ -34,7 +34,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#define USE_PQ_OPT2
//#define USE_PQ_OPT3 // don't use
#define USE_PQ_OPT4
-//#define USE_PQ_OPT5
+#define USE_PQ_OPT5
#endif
#define QUAKE_GAME // as opposed to utilities