1
=== modified file 'expo/expo.xml.in'
2
--- old/expo/expo.xml.in 2011-03-29 16:36:40 +0000
3
+++ new/expo/expo.xml.in 2011-04-19 09:23:11 +0000
8
+ <option name="x_offset" type="int">
9
+ <_short>X Space</_short>
10
+ <_long> Left Side screen space of expo in pixels</_long>
14
+ <option name="y_offset" type="int">
15
+ <_short>Y Space</_short>
16
+ <_long> Top Side screen space of expo in pixels</_long>
20
<option name="distance" type="float">
21
<_short>Distance</_short>
22
<_long>Distance of the expo wall</_long>
24
=== modified file 'expo/src/expo.cpp'
25
--- old/expo/src/expo.cpp 2011-04-06 17:52:52 +0000
26
+++ new/expo/src/expo.cpp 2011-04-19 09:23:11 +0000
29
sTransform.scale (oScale, oScale, 1.0);
31
+ //fprintf (stderr, "cam is %f %f %f\n", cam[GLVector::x], cam[GLVector::y], cam[GLVector::z]);
34
oScale = DEFAULT_Z_CAMERA / (cam[GLVector::z] + DEFAULT_Z_CAMERA);
35
sTransform.scale (oScale, oScale, oScale);
37
sTransform.rotate (rotation, 0.0f, 1.0f, 0.0f);
38
sTransform.scale (aspectX, aspectY, 1.0);
40
+ float xoffset = ((vpSize.x () * sx) / ((float) screen->width ()) * optionGetXOffset ()) * sigmoidProgress (expoCam);
41
+ float yoffset = ((vpSize.y () * sy) / ((float) screen->height ()) * optionGetYOffset ()) * sigmoidProgress (expoCam);
42
+ float xadjs = 1.0f - ((float) optionGetXOffset () / (float) screen->width ()) * sigmoidProgress (expoCam);
43
+ float yadjs = 1.0f - ((float) optionGetYOffset () / (float) screen->height ()) * sigmoidProgress (expoCam);
45
/* translate expo to center */
46
- sTransform.translate (vpSize.x () * sx * -0.5,
47
- vpSize.y () * sy * 0.5, 0.0f);
48
+ sTransform.translate (vpSize.x () * sx * -0.5 + xoffset,
49
+ vpSize.y () * sy * 0.5 - yoffset, 0.0f);
50
+ sTransform.scale (xadjs, yadjs, 1.0f);
52
if (optionGetDeform () == DeformCurve)
53
sTransform.translate ((vpSize.x () - 1) * sx * 0.5, 0.0, 0.0);