done
;;
compile)
+ cleandp=false
+ cleanqcc=false
+ cleanqc=false
+ debug=debug
+ while :; do
+ case "$1" in
+ -c)
+ cleandp=true
+ cleanqcc=true
+ cleanqc=true
+ shift
+ ;;
+ -r)
+ debug=release
+ shift
+ ;;
+ *)
+ break
+ ;;
+ esac
+ done
if [ -z "$CC" ]; then
export CC="gcc -DSUPPORTIPV6"
fi
if [ -n "$WE_HATE_OUR_USERS" ]; then
- TARGETS="sv-debug cl-debug"
+ TARGETS="sv-$debug cl-$debug"
elif [ x"`uname`" = x"Darwin" ]; then
case "`uname -r`" in
?.*)
- TARGETS="sv-debug cl-debug sdl-debug"
+ TARGETS="sv-$debug cl-$debug sdl-$debug"
;;
*)
# AGL cannot be compiled on systems with a kernel > 10.x (Snow Leopard)
- TARGETS="sv-debug sdl-debug"
+ TARGETS="sv-$debug sdl-$debug"
;;
esac
export CC="$CC -I$PWD/misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Headers -F$PWD/misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks"
else
- TARGETS="sv-debug cl-debug sdl-debug"
+ TARGETS="sv-$debug cl-$debug sdl-$debug"
fi
- case "$1" in
- -c)
- cleandp=true
- cleanqcc=true
- cleanqc=true
- shift
- ;;
- *)
- cleandp=false
- cleanqcc=false
- cleanqc=false
- ;;
- esac
if [ $# -gt 0 ] && [ x"$1" = x"" ]; then
# if we give the command make the arg "", it will surely fail (invalid filename),
# so better handle it as an empty client option
else
freqspace1[(w*y+x)] = 0;
#else
- // not yet implemented
+ fftw_complex response_x = {0, 0};
+ fftw_complex response_y = {0, 0};
+ double sum;
+ for(i = -filterh / 2; i <= filterh / 2; ++i)
+ for(j = -filterw / 2; j <= filterw / 2; ++j)
+ {
+ response_x[0] += filter[(i + filterh / 2) * filterw + j + filterw / 2] * cos(TWO_PI * (j * fx + i * fy));
+ response_x[1] += filter[(i + filterh / 2) * filterw + j + filterw / 2] * sin(TWO_PI * (j * fx + i * fy));
+ response_y[0] += filter[(i + filterh / 2) * filterw + j + filterw / 2] * cos(TWO_PI * (i * fx + j * fy));
+ response_y[1] += filter[(i + filterh / 2) * filterw + j + filterw / 2] * sin(TWO_PI * (i * fx + j * fy));
+ }
+
+ sum = response_x[0] * response_x[0] + response_x[1] + response_x[1]
+ + response_y[0] * response_y[0] + response_y[1] + response_y[1];
+
+ if(sum > 0)
+ {
+ freqspace1[(w*y+x)][0] = (response_x[0] * freqspace1[(w*y+x)][0] + response_x[1] * freqspace1[(w*y+x)][1] + response_y[0] * freqspace2[(w*y+x)][0] + response_y[1] * freqspace2[(w*y+x)][1]) / sum;
+ freqspace1[(w*y+x)][1] = (response_x[0] * freqspace1[(w*y+x)][1] - response_x[1] * freqspace1[(w*y+x)][0] + response_y[0] * freqspace2[(w*y+x)][1] - response_y[1] * freqspace2[(w*y+x)][0]) / sum;
+ }
+ else
+ {
+ freqspace1[(w*y+x)][0] = 0;
+ freqspace1[(w*y+x)][1] = 0;
+ }
#endif
}
else