Page 1 of 1

videoGL.h -- glScalef32 not accepting 3 parameters

Posted: Tue Apr 20, 2010 5:04 am
by Raid
Looking at the procedure 'glScalef' in videoGL.h, I see that there is 3 int32's being set to the MATRIX_SCALE address.
This is correct. This turns the floats from the parameters into int32's. The procedure tells me to use glScalef32 (with preconverted floats I assume of course).

Looking at glScalef32 there is ONE parameter, called factor, and it's being sent 3 times to MATRIX_SCALE .. This scales in all axises with only one value instead of allowing me to input 3, like the previous glScalef method.

The diff from the old videoGL.h to the patched videoGL.h:

Code: Select all

@@ -554,14 +554,16 @@
 }
 
 GL_STATIC_INL
-/*! \fn  void glScalef32(int32 factor)
+/*! \fn  void glScalef32(int32 x, int32 y, int32 z)
 \brief multiply the current matrix by a scale matrix<BR>
 <A HREF="http://nocash.emubase.de/gbatek.htm#ds3dmatrixloadmultiply">GBATEK http://nocash.emubase.de/gbatek.htm#ds3dmatrixloadmultiply</A>
-\param factor the factor to scale by */
- void glScalef32(int32 factor) {
-	MATRIX_SCALE = factor;
-	MATRIX_SCALE = factor;
-	MATRIX_SCALE = factor;
+\param x scaling on the x axis
+\param y scaling on the y axis
+\param z scaling on the z axis */
+ void glScalef32(int32 x, int32 y, int32 z) {
+	MATRIX_SCALE = x;
+	MATRIX_SCALE = y;
+	MATRIX_SCALE = z;
 }
 
 GL_STATIC_INL