mirror of
https://github.com/scp-fs2open/fs2open.github.com.git
synced 2026-11-07 22:56:30 -10:00
Compare commits
90
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c72443b83a | ||
|
|
bc9ccbbcde | ||
|
|
1fafc93186 | ||
|
|
eb71f6bf81 | ||
|
|
255ec3c779 | ||
|
|
f94ddf7a77 | ||
|
|
b5480fc314 | ||
|
|
16823d850f | ||
|
|
3f6ce50e73 | ||
|
|
2576fd2c01 | ||
|
|
3418def2e0 | ||
|
|
2a19dfa21a | ||
|
|
6d3bc3d006 | ||
|
|
bccf37689d | ||
|
|
97e74b39f9 | ||
|
|
61f538fc96 | ||
|
|
c74a0c9e97 | ||
|
|
edec7aa354 | ||
|
|
9ad97ea56f | ||
|
|
0543dcccb1 | ||
|
|
991299095c | ||
|
|
1d1d011b07 | ||
|
|
9874c1dccc | ||
|
|
55376a2424 | ||
|
|
edf0495473 | ||
|
|
a49e0db8b3 | ||
|
|
4dcdc04b52 | ||
|
|
1325c37576 | ||
|
|
3fc7b6098e | ||
|
|
d60bdcf0ff | ||
|
|
afdbf568aa | ||
|
|
386a72e566 | ||
|
|
24df8e9cae | ||
|
|
f0f8949621 | ||
|
|
335009a9a9 | ||
|
|
fccbf03cde | ||
|
|
b33637e856 | ||
|
|
741600d625 | ||
|
|
e49bdbe946 | ||
|
|
19cbd57a20 | ||
|
|
e861e5d20d | ||
|
|
7067b8ff75 | ||
|
|
1f3b94e105 | ||
|
|
419bc2ac88 | ||
|
|
a39e71fd32 | ||
|
|
b551e103d2 | ||
|
|
7adee267c4 | ||
|
|
660716a8be | ||
|
|
c427f4ab28 | ||
|
|
458dd90b81 | ||
|
|
4cd4123224 | ||
|
|
2e53d6e227 | ||
|
|
7137dd6372 | ||
|
|
b7b89337b7 | ||
|
|
5577c4e16e | ||
|
|
3ed6874cb2 | ||
|
|
e0b8abc0ba | ||
|
|
e3664152ca | ||
|
|
371c49724e | ||
|
|
b2fc33563d | ||
|
|
73c20cedd3 | ||
|
|
b51d6f84b8 | ||
|
|
7d7c87c290 | ||
|
|
cb9c66966d | ||
|
|
441ac5c066 | ||
|
|
1b65fd50a0 | ||
|
|
5d307d24f4 | ||
|
|
d06d6e6df0 | ||
|
|
e78327d879 | ||
|
|
8f42977ee8 | ||
|
|
d60c8d5f3f | ||
|
|
278a797db2 | ||
|
|
1a59a1c811 | ||
|
|
96c01e6c1e | ||
|
|
50496c8143 | ||
|
|
7d3b824428 | ||
|
|
8906c735c6 | ||
|
|
2ee839152c | ||
|
|
6be09e7157 | ||
|
|
1715b20d30 | ||
|
|
37497cb7d7 | ||
|
|
b62eba559b | ||
|
|
4fa84ee388 | ||
|
|
776f0df434 | ||
|
|
39ce7d4253 | ||
|
|
c33b54464e | ||
|
|
e3cde7086c | ||
|
|
180674154c | ||
|
|
181b758577 | ||
|
|
7e3198392b |
No files matched your search
+34
-18
@@ -17,23 +17,41 @@ addons:
|
||||
- liblua5.1-0-dev
|
||||
- libjansson-dev
|
||||
- libtool
|
||||
|
||||
coverity_scan:
|
||||
project:
|
||||
name: "scp-fs2open/fs2open.github.com"
|
||||
description: "Coverity via Travis CI"
|
||||
name: scp-fs2open/fs2open.github.com
|
||||
description: Coverity via Travis CI
|
||||
notification_email: [email protected]
|
||||
build_command_prepend: "./autogen.sh --enable-debug"
|
||||
build_command: "make -j2"
|
||||
# must match TRAVIS_BRANCH check below
|
||||
build_command: make -j2
|
||||
branch_pattern: coverity_scan
|
||||
|
||||
deploy:
|
||||
- provider: releases
|
||||
api_key:
|
||||
secure: "bBWEBF+r4p7kea+Lj/vHD0CCW4AsxqlLri8gT3HbsdPuKwdSNU4QLLFk9yAXmmBF2T/fe45Zk+WQrdQJjSydkpG06M7sFD22RKOYv3cLF0Bq0nEG4CpuXoGqo77oFGkA5hdU6D8W2nQTMhPuiqlvhgt3zeD/6fiyfdAztbtKNRs="
|
||||
skip_cleanup: true
|
||||
file_glob: true
|
||||
file: "/tmp/builds/*"
|
||||
on:
|
||||
condition: '"$RELEASE_BUILD" == true'
|
||||
tags: true
|
||||
|
||||
- provider: bintray
|
||||
user: asarium
|
||||
key:
|
||||
secure: "JyJIsJFxCvNjmdyG9eDIvkzXFqsJQVzXKp5BeJcn5WSdMA2Vs7dCvarJXomdwe3F3RCrdmrFYCaimiCDD6LqImrcDLzxlevzGlNUv381iFna612SJj672d8iQCgtMibIJ3HzYmgZlsaJ9YcaOuccRyQIV/TNUcwgzbsW27CPEcM="
|
||||
file: ci/bintray.json
|
||||
on:
|
||||
condition: '"$NIGHTLY_BUILD" == true'
|
||||
tags: true
|
||||
|
||||
env:
|
||||
global:
|
||||
# The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
|
||||
# via the "travis encrypt" command using the project repo's public key
|
||||
- secure: "C3wF967ZeliwwP1vC12EMIBOaC568n26Z/cPnwzn317ve59DWH3YSfPZVgvt08GzmaXITGGsJvPB+qxfGoKvQzYE4O1B73q81RpUe5pB3IhF+ThQ91VfQZIRJR5xEGJaLINUlHTTZGX5jxlkVO9wAcauVj/s3b8sQ3dvUZauPvk="
|
||||
- secure: C3wF967ZeliwwP1vC12EMIBOaC568n26Z/cPnwzn317ve59DWH3YSfPZVgvt08GzmaXITGGsJvPB+qxfGoKvQzYE4O1B73q81RpUe5pB3IhF+ThQ91VfQZIRJR5xEGJaLINUlHTTZGX5jxlkVO9wAcauVj/s3b8sQ3dvUZauPvk=
|
||||
matrix:
|
||||
include:
|
||||
# note that gcc Debug MUST be 1st for Coverity
|
||||
- os: linux
|
||||
compiler: gcc
|
||||
env: CONFIGURATION="Debug"
|
||||
@@ -46,7 +64,6 @@ matrix:
|
||||
- os: osx
|
||||
compiler: clang
|
||||
env: CONFIGURATION="Debug" MACOSX_ARCH=x86_64
|
||||
|
||||
- os: linux
|
||||
compiler: gcc
|
||||
env: CONFIGURATION="Release"
|
||||
@@ -59,17 +76,16 @@ matrix:
|
||||
- os: osx
|
||||
compiler: clang
|
||||
env: CONFIGURATION="Release" MACOSX_ARCH=x86_64
|
||||
|
||||
before_install:
|
||||
# ugly hack; if running a coverity scan abort all except the 1st build
|
||||
# see note re gcc compiler above needing to be 1st
|
||||
# also note that branch_pattern & the TRAVIS_BRANCH check must match
|
||||
# unfortunately COVERITY_SCAN_BRANCH isn't defined until later in the
|
||||
# build process
|
||||
- if ([[ "${TRAVIS_JOB_NUMBER##*.}" != "1" ]] && [[ "${TRAVIS_BRANCH}" == "coverity_scan" ]]); then false ; fi
|
||||
- ./ci/travis/before_install.sh
|
||||
- source "./ci/travis/check_release.sh"
|
||||
- "./ci/travis/before_install.sh"
|
||||
install:
|
||||
- ./ci/travis/install.sh
|
||||
- "./ci/travis/install.sh"
|
||||
before_script:
|
||||
- ./ci/travis/before_script.sh
|
||||
- "./ci/travis/before_script.sh"
|
||||
script:
|
||||
- ./ci/travis/script.sh
|
||||
- if [ "$BUILD_DEPLOYMENT" = true ] ; then ./ci/travis/release.sh ; else ./ci/travis/script.sh ; fi
|
||||
before_deploy:
|
||||
- "./ci/travis/before_deploy.sh"
|
||||
+27
-4
@@ -4,13 +4,36 @@ environment:
|
||||
matrix:
|
||||
- VisualStudioVersion: 10.0
|
||||
PlatformToolset: v100
|
||||
ProjectPath: projects/MSVC_2010/Freespace2.vcxproj
|
||||
ProjectPath: projects/MSVC_2010
|
||||
DeployConfig: False
|
||||
- VisualStudioVersion: 12.0
|
||||
PlatformToolset: v120
|
||||
ProjectPath: projects/MSVC_2013/Freespace2.vcxproj
|
||||
ProjectPath: projects/MSVC_2013
|
||||
DeployConfig: False
|
||||
- VisualStudioVersion: 14.0
|
||||
PlatformToolset: v140
|
||||
ProjectPath: projects/MSVC_2015/Freespace2.vcxproj
|
||||
ProjectPath: projects/MSVC_2015
|
||||
DeployConfig: True
|
||||
build_script:
|
||||
- msbuild "%ProjectPath%" /p:Configuration="Debug SSE2" /m /p:PlatformToolset="%PlatformToolset%" /verbosity:minimal
|
||||
- ps: . ./ci/appveyor/check_release.ps1
|
||||
- ps: . ./ci/appveyor/build.ps1
|
||||
test: off
|
||||
deploy:
|
||||
- provider: GitHub
|
||||
auth_token:
|
||||
secure: RWe6hwCcgBdklaYvjB62kzhKn7yDBJdqoDDKYViShaEV9HkJ75HbawsBcGBimRUu
|
||||
on:
|
||||
ReleaseBuild: true # deploy on release push only
|
||||
|
||||
- provider: BinTray
|
||||
username: asarium
|
||||
api_key:
|
||||
secure: 2lHma1ZreuB4CCE5hSdp+gqFjCMzUDj3tVJhP+D6EyF5wIVMLlwXFrISwnYu1kJi
|
||||
subject: asarium
|
||||
repo: FSO
|
||||
package: nightly
|
||||
version: $(VersionName)
|
||||
publish: true
|
||||
override: true
|
||||
on:
|
||||
NightlyBuild: true # deploy on nightly push only
|
||||
@@ -0,0 +1,25 @@
|
||||
|
||||
if ([System.Convert]::ToBoolean($env:DeployBuild)) {
|
||||
# Release build
|
||||
if (! ([System.Convert]::ToBoolean($env:DeployConfig))) {
|
||||
exit 0 # End the build
|
||||
}
|
||||
|
||||
msbuild "$env:ProjectPath/Freespace2.sln" /p:Configuration="Debug SSE2" /m /p:PlatformToolset="$($env:PlatformToolset)_xp" /verbosity:minimal
|
||||
if (! ($?)) {
|
||||
Add-AppveyorMessage "A release build failed!"
|
||||
exit 1
|
||||
}
|
||||
|
||||
msbuild "$env:ProjectPath/Freespace2.sln" /p:Configuration="Release SSE2" /m /p:PlatformToolset="$($env:PlatformToolset)_xp" /verbosity:minimal
|
||||
if (! ($?)) {
|
||||
Add-AppveyorMessage "A release build failed!"
|
||||
exit 1
|
||||
}
|
||||
|
||||
7z a "$($env:PackageName)-builds-Win32.zip" "$env:APPVEYOR_BUILD_FOLDER/$env:ProjectPath/Debug SSE2/*.exe" "$env:APPVEYOR_BUILD_FOLDER/$env:ProjectPath/Release SSE2/*.exe"
|
||||
Push-AppveyorArtifact "$($env:PackageName)-builds-Win32.zip"
|
||||
} else {
|
||||
# Standard CI build
|
||||
msbuild "$env:ProjectPath/Freespace2.vcxproj" /p:Configuration="Debug SSE2" /m /p:PlatformToolset="$env:PlatformToolset" /verbosity:minimal
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
|
||||
write "$env:APPVEYOR_REPO_TAG"
|
||||
write "$env:APPVEYOR_REPO_TAG_NAME"
|
||||
|
||||
# Default values
|
||||
Set-AppveyorBuildVariable 'ReleaseBuild' 'false'
|
||||
Set-AppveyorBuildVariable 'NightlyBuild' 'false'
|
||||
Set-AppveyorBuildVariable 'DeployBuild' 'false'
|
||||
Set-AppveyorBuildVariable 'PackagePrefix' ''
|
||||
Set-AppveyorBuildVariable 'VersionName' ''
|
||||
|
||||
|
||||
if ([System.Convert]::ToBoolean($env:APPVEYOR_REPO_TAG) -And ("$env:APPVEYOR_REPO_TAG_NAME" -match "^release_(.*)")) {
|
||||
# Tag matches
|
||||
Set-AppveyorBuildVariable 'ReleaseBuild' 'true'
|
||||
Set-AppveyorBuildVariable 'PackageName' "release_$($matches[1])"
|
||||
}
|
||||
|
||||
if ([System.Convert]::ToBoolean($env:APPVEYOR_REPO_TAG) -And ("$env:APPVEYOR_REPO_TAG_NAME" -match "^nightly_(.*)")) {
|
||||
# Tag matches
|
||||
Set-AppveyorBuildVariable 'NightlyBuild' 'true'
|
||||
Set-AppveyorBuildVariable 'PackageName' "nightly_$($matches[1])"
|
||||
Set-AppveyorBuildVariable 'VersionName' "$($matches[1])"
|
||||
}
|
||||
|
||||
if ([System.Convert]::ToBoolean($env:ReleaseBuild) -Or [System.Convert]::ToBoolean($env:NightlyBuild)) {
|
||||
Set-AppveyorBuildVariable 'DeployBuild' 'true'
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"package": {
|
||||
"name": "nightly",
|
||||
"repo": "FSO",
|
||||
"subject": "asarium"
|
||||
},
|
||||
|
||||
"version": {
|
||||
"name": "$VERSION_NAME"
|
||||
},
|
||||
|
||||
"files": [
|
||||
{
|
||||
"includePattern": "/tmp/builds/(.*)",
|
||||
"uploadPattern": "$1"
|
||||
}
|
||||
],
|
||||
"publish": true
|
||||
}
|
||||
Executable
+8
@@ -0,0 +1,8 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
set -ex
|
||||
|
||||
if [ "$NIGHTLY_BUILD" = true ]; then
|
||||
echo "Fixing bintray config..."
|
||||
sed -e "s/\$VERSION_NAME/$VERSION_NAME/" ci/bintray.template.json > ci/bintray.json
|
||||
fi
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
set -e
|
||||
set -ex
|
||||
|
||||
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
|
||||
# Nothing to do here
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
set -e
|
||||
set -ex
|
||||
|
||||
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
|
||||
if ([ "$TRAVIS_OS_NAME" = "linux" ] && [ "$BUILD_DEPLOYMENT" = false ]); then
|
||||
# Due to a bug in gcc the array bounds check isn't working correctly
|
||||
# This can be removed when gcc is updated
|
||||
AUTOGEN_CONFIG="CXXFLAGS=-Wno-array-bounds --enable-fatal-warnings --enable-generic-architecture"
|
||||
|
||||
Executable
+49
@@ -0,0 +1,49 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
RELEASE_BUILD=false
|
||||
NIGHTLY_BUILD=false
|
||||
BUILD_DEPLOYMENT=false
|
||||
VERSION_NAME=""
|
||||
PACKAGE_NAME=""
|
||||
|
||||
RELEASE_PATTERN="^release_(.*)$"
|
||||
NIGHTLY_PATTERN="^nightly_(.*)$"
|
||||
|
||||
if [[ "$TRAVIS_TAG" =~ $RELEASE_PATTERN ]]; then
|
||||
echo "This is a release tag!";
|
||||
RELEASE_BUILD=true;
|
||||
PACKAGE_NAME="release_${BASH_REMATCH[1]}";
|
||||
fi
|
||||
if [[ "$TRAVIS_TAG" =~ $NIGHTLY_PATTERN ]]; then
|
||||
echo "This is a nightly tag!";
|
||||
NIGHTLY_BUILD=true;
|
||||
VERSION_NAME="${BASH_REMATCH[1]}"
|
||||
PACKAGE_NAME="nightly_${BASH_REMATCH[1]}";
|
||||
fi
|
||||
|
||||
if ([ "$RELEASE_BUILD" = true ] || [ "$NIGHTLY_BUILD" = true ]); then
|
||||
BUILD_DEPLOYMENT=true;
|
||||
fi
|
||||
|
||||
if [[ "$BUILD_DEPLOYMENT" == true ]]; then
|
||||
if ([[ "$TRAVIS_OS_NAME" == "linux" ]] && [[ "$CC" == "clang" ]]); then
|
||||
echo "Skipping non-release compiler";
|
||||
exit 0;
|
||||
fi
|
||||
|
||||
if ([[ "$TRAVIS_OS_NAME" == "osx" ]] && [[ "$MACOSX_ARCH" == "i386" ]]); then
|
||||
echo "Skipping non-release architecture";
|
||||
exit 0;
|
||||
fi
|
||||
|
||||
if ([[ "$CONFIGURATION" == "Debug" ]]); then
|
||||
echo "Skipping non-release configuration";
|
||||
exit 0;
|
||||
fi
|
||||
fi
|
||||
|
||||
export RELEASE_BUILD
|
||||
export NIGHTLY_BUILD
|
||||
export BUILD_DEPLOYMENT
|
||||
export VERSION_NAME
|
||||
export PACKAGE_NAME
|
||||
@@ -1,10 +1,10 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
set -e
|
||||
set -ex
|
||||
|
||||
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
|
||||
# Nothing to do here
|
||||
:
|
||||
elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
|
||||
gem install xcpretty
|
||||
gem install xcpretty thefox-pastebin
|
||||
fi
|
||||
Executable
+57
@@ -0,0 +1,57 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
set -ex
|
||||
|
||||
mkdir -p /tmp/builds
|
||||
|
||||
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
|
||||
# Due to a bug in gcc the array bounds check isn't working correctly
|
||||
# This can be removed when gcc is updated
|
||||
AUTOGEN_CONFIG="--enable-generic-architecture --prefix=/tmp/release"
|
||||
|
||||
# First compile the release build
|
||||
./autogen.sh $AUTOGEN_CONFIG
|
||||
|
||||
make -j4
|
||||
make install
|
||||
|
||||
make distclean
|
||||
|
||||
# Now compile debug
|
||||
./autogen.sh $AUTOGEN_CONFIG --enable-debug
|
||||
|
||||
make -j4
|
||||
make install
|
||||
|
||||
ls -al /tmp/release/bin
|
||||
|
||||
(cd /tmp/release/bin && tar -cvzf /tmp/builds/$PACKAGE_NAME-builds-Linux.tar.gz *)
|
||||
elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
|
||||
cd projects/Xcode
|
||||
|
||||
mkdir /tmp/release
|
||||
|
||||
xcodebuild -project FS2_Open.xcodeproj -configuration "Release" clean build | tee release.log | xcpretty
|
||||
XCODE_RET=${PIPESTATUS[0]}
|
||||
if [ "$XCODE_RET" -ne "0" ]; then
|
||||
pastebin -e 1D -f release.log
|
||||
exit $XCODE_RET
|
||||
fi
|
||||
|
||||
ls build/Release
|
||||
(cd build/Release && cp -r *.app /tmp/release)
|
||||
|
||||
xcodebuild -project FS2_Open.xcodeproj -configuration "Debug" clean build | tee debug.log | xcpretty
|
||||
XCODE_RET=${PIPESTATUS[0]}
|
||||
if [ "$XCODE_RET" -ne "0" ]; then
|
||||
pastebin -e 1D -f debug.log
|
||||
exit $XCODE_RET
|
||||
fi
|
||||
|
||||
ls build/Debug
|
||||
(cd build/Debug && cp -r *.app /tmp/release)
|
||||
|
||||
ls -al /tmp/release
|
||||
|
||||
(cd /tmp/release && tar -cvzf /tmp/builds/$PACKAGE_NAME-builds-MacOSX.tar.gz *)
|
||||
fi
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
set -e
|
||||
set -ex
|
||||
|
||||
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
|
||||
make -j 4
|
||||
|
||||
+1
-1
@@ -185,7 +185,7 @@ EXTRA_DIST = \
|
||||
|
||||
# D_ variants are defaults and should always be used
|
||||
# FS2_ variants are for game building and wxFRED
|
||||
AM_CXXFLAGS = @D_CFLAGS@ @FS2_CXXFLAGS@ -I../mongoose
|
||||
AM_CXXFLAGS = @D_CFLAGS@ @FS2_CXXFLAGS@ -I./$(VPATH)/../mongoose
|
||||
AM_LDFLAGS = @D_LDFLAGS@ @FS2_LDFLAGS@
|
||||
|
||||
if BUILD_WXFRED
|
||||
|
||||
+1
-1
@@ -13410,7 +13410,7 @@ void ai_warp_out(object *objp)
|
||||
aip->submode_start_time = Missiontime;
|
||||
|
||||
// maybe recalculate collision pairs.
|
||||
if (ship_get_warpout_speed(objp) > ship_get_max_speed(shipp)) {
|
||||
if ((objp->flags & OF_COLLIDES) && (ship_get_warpout_speed(objp) > ship_get_max_speed(shipp))) {
|
||||
// recalculate collision pairs
|
||||
OBJ_RECALC_PAIRS(objp);
|
||||
}
|
||||
|
||||
@@ -1566,8 +1566,8 @@ void asteroid_maybe_break_up(object *pasteroid_obj)
|
||||
float r = sqrt(1.0f - y*y);
|
||||
float phi = i * inc;
|
||||
|
||||
dir_vec.xyz.x = cos(phi)*r;
|
||||
dir_vec.xyz.y = sin(phi)*r;
|
||||
dir_vec.xyz.x = cosf(phi)*r;
|
||||
dir_vec.xyz.y = sinf(phi)*r;
|
||||
dir_vec.xyz.z = y;
|
||||
|
||||
// Randomize the direction a bit
|
||||
|
||||
@@ -515,8 +515,8 @@ void warp_camera::do_frame(float in_frametime)
|
||||
|
||||
float tmp_angle = frand()*PI2;
|
||||
|
||||
tmp.xyz.x = 22.0f * (float)sin(tmp_angle);
|
||||
tmp.xyz.y = -22.0f * (float)cos(tmp_angle);
|
||||
tmp.xyz.x = 22.0f * sinf(tmp_angle);
|
||||
tmp.xyz.y = -22.0f * cosf(tmp_angle);
|
||||
|
||||
this->set_velocity( &tmp, 0 );
|
||||
}
|
||||
|
||||
@@ -1568,8 +1568,8 @@ bool SetCmdlineParams()
|
||||
if ( ship_choice_3d_arg.found() )
|
||||
Cmdline_ship_choice_3d = 1;
|
||||
|
||||
if ( weapon_choice_3d_arg.found() )
|
||||
Cmdline_weapon_choice_3d = 1;
|
||||
if ( weapon_choice_3d_arg.found() )
|
||||
Cmdline_weapon_choice_3d = 1;
|
||||
|
||||
if ( show_mem_usage_arg.found() )
|
||||
Cmdline_show_mem_usage = 1;
|
||||
|
||||
+2
-2
@@ -2103,8 +2103,8 @@ END
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 3,7,1,0
|
||||
PRODUCTVERSION 3,7,1,0
|
||||
FILEVERSION 3,7,5,0
|
||||
PRODUCTVERSION 3,7,5,0
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
|
||||
@@ -2824,6 +2824,11 @@ void CFred_mission_save::parse_comments(int newlines)
|
||||
}
|
||||
|
||||
while (*raw_ptr != EOF_CHAR) {
|
||||
// state values (as far as I could figure out):
|
||||
// 0 - raw_ptr not inside comment
|
||||
// 1 - raw_ptr inside /**/ comment
|
||||
// 2 - raw_ptr inside ; (newline-delimited) comment
|
||||
// 3,4 - raw_ptr inside ;; (FSO version) comment
|
||||
if (!state) {
|
||||
if (token_found && (*raw_ptr == *token_found))
|
||||
if (!strnicmp(raw_ptr, token_found, strlen(token_found))) {
|
||||
@@ -2878,11 +2883,6 @@ void CFred_mission_save::parse_comments(int newlines)
|
||||
}
|
||||
}
|
||||
|
||||
if ((*raw_ptr == '/') && (raw_ptr[1] == '/')) {
|
||||
comment_start = raw_ptr;
|
||||
state = 2;
|
||||
}
|
||||
|
||||
if (*raw_ptr == '\n')
|
||||
flag = 1;
|
||||
|
||||
@@ -2926,22 +2926,22 @@ void CFred_mission_save::parse_comments(int newlines)
|
||||
if (first_comment && !flag)
|
||||
fout("\t\t");
|
||||
|
||||
state = raw_ptr[2];
|
||||
const char tmp = raw_ptr[2];
|
||||
raw_ptr[2] = 0;
|
||||
fout("%s", comment_start);
|
||||
raw_ptr[2] = (char)state;
|
||||
raw_ptr[2] = tmp;
|
||||
state = first_comment = flag = 0;
|
||||
}
|
||||
|
||||
if ( (*raw_ptr == ';') && (raw_ptr[1] == ';') && (state == 3) ) {
|
||||
state = raw_ptr[2];
|
||||
const char tmp = raw_ptr[2];
|
||||
raw_ptr[2] = 0;
|
||||
if (version_added)
|
||||
fso_comment_pop();
|
||||
else
|
||||
version_added = true;
|
||||
fso_comment_push(comment_start);
|
||||
raw_ptr[2] = (char)state;
|
||||
raw_ptr[2] = tmp;
|
||||
state = first_comment = flag = 0;
|
||||
raw_ptr++;
|
||||
}
|
||||
|
||||
@@ -308,8 +308,6 @@ const float PI_2 = (PI/2.0f);
|
||||
const int RAND_MAX_2 = (RAND_MAX/2);
|
||||
const float RAND_MAX_1f = (1.0f / RAND_MAX);
|
||||
|
||||
#define ANG_TO_RAD(x) ((x)*PI/180)
|
||||
|
||||
|
||||
extern int Fred_running; // Is Fred running, or FreeSpace?
|
||||
|
||||
|
||||
@@ -1050,8 +1050,8 @@ void gr_opengl_arc(int xc, int yc, float r, float angle_start, float angle_end,
|
||||
float s = sinf(theta);
|
||||
float t;
|
||||
|
||||
float x1 = cosf(ANG_TO_RAD(angle_start));
|
||||
float y1 = sinf(ANG_TO_RAD(angle_start));
|
||||
float x1 = cosf(fl_radians(angle_start));
|
||||
float y1 = sinf(fl_radians(angle_start));
|
||||
float x2 = x1;
|
||||
float y2 = y1;
|
||||
|
||||
|
||||
@@ -288,8 +288,8 @@ void gr_opengl_post_process_end()
|
||||
if((dot=vm_vec_dot( &light_dir, &Eye_matrix.vec.fvec )) > 0.7f)
|
||||
{
|
||||
|
||||
x = asin(vm_vec_dot( &light_dir, &Eye_matrix.vec.rvec ))/PI*1.5f+0.5f; //cant get the coordinates right but this works for the limited glare fov
|
||||
y = asin(vm_vec_dot( &light_dir, &Eye_matrix.vec.uvec ))/PI*1.5f*gr_screen.clip_aspect+0.5f;
|
||||
x = asinf(vm_vec_dot( &light_dir, &Eye_matrix.vec.rvec ))/PI*1.5f+0.5f; //cant get the coordinates right but this works for the limited glare fov
|
||||
y = asinf(vm_vec_dot( &light_dir, &Eye_matrix.vec.uvec ))/PI*1.5f*gr_screen.clip_aspect+0.5f;
|
||||
GL_state.Uniform.setUniform2f( "sun_pos", x, y);
|
||||
GL_state.Uniform.setUniformi( "scene", 0);
|
||||
GL_state.Uniform.setUniformi( "cockpit", 1);
|
||||
|
||||
@@ -61,10 +61,10 @@ void shadows_construct_light_proj(light_frustum_info *shadow_data)
|
||||
void shadows_debug_show_frustum(matrix* orient, vec3d *pos, float fov, float aspect, float z_near, float z_far)
|
||||
{
|
||||
// find the widths and heights of the near plane and far plane to determine the points of this frustum
|
||||
float near_height = (float)tan((double)fov * 0.5) * z_near;
|
||||
float near_height = tanf(fov * 0.5f) * z_near;
|
||||
float near_width = near_height * aspect;
|
||||
|
||||
float far_height = (float)tan((double)fov * 0.5) * z_far;
|
||||
float far_height = tanf(fov * 0.5f) * z_far;
|
||||
float far_width = far_height * aspect;
|
||||
|
||||
vec3d up_scale = ZERO_VECTOR;
|
||||
@@ -190,10 +190,10 @@ void shadows_debug_show_frustum(matrix* orient, vec3d *pos, float fov, float asp
|
||||
void shadows_construct_light_frustum(light_frustum_info *shadow_data, matrix *light_matrix, matrix *orient, vec3d *pos, float fov, float aspect, float z_near, float z_far)
|
||||
{
|
||||
// find the widths and heights of the near plane and far plane to determine the points of this frustum
|
||||
float near_height = (float)tan((double)fov * 0.5) * z_near;
|
||||
float near_height = tanf(fov * 0.5f) * z_near;
|
||||
float near_width = near_height * aspect;
|
||||
|
||||
float far_height = (float)tan((double)fov * 0.5f) * z_far;
|
||||
float far_height = tanf(fov * 0.5f) * z_far;
|
||||
float far_width = far_height * aspect;
|
||||
|
||||
vec3d up_scale = ZERO_VECTOR;
|
||||
@@ -482,4 +482,4 @@ void shadows_render_all(float fov, matrix *eye_orient, vec3d *eye_pos)
|
||||
|
||||
gr_set_proj_matrix(Proj_fov, gr_screen.clip_aspect, Min_draw_distance, Max_draw_distance);
|
||||
gr_set_view_matrix(&Eye_position, &Eye_matrix);
|
||||
}
|
||||
}
|
||||
@@ -649,16 +649,16 @@ void HudGaugeLock::renderLockTrianglesOld(int center_x, int center_y, int radius
|
||||
// draw the orbiting triangles
|
||||
|
||||
//ang = atan2(target_point.y,target_point.x);
|
||||
xpos = center_x + (float)cos(ang)*(radius + Lock_triangle_height + 2);
|
||||
ypos = center_y - (float)sin(ang)*(radius + Lock_triangle_height + 2);
|
||||
xpos = center_x + cosf(ang)*(radius + Lock_triangle_height + 2);
|
||||
ypos = center_y - sinf(ang)*(radius + Lock_triangle_height + 2);
|
||||
|
||||
x3 = xpos - Lock_triangle_base * (float)sin(-ang);
|
||||
y3 = ypos + Lock_triangle_base * (float)cos(-ang);
|
||||
x4 = xpos + Lock_triangle_base * (float)sin(-ang);
|
||||
y4 = ypos - Lock_triangle_base * (float)cos(-ang);
|
||||
x3 = xpos + Lock_triangle_base * sinf(ang);
|
||||
y3 = ypos + Lock_triangle_base * cosf(ang);
|
||||
x4 = xpos - Lock_triangle_base * sinf(ang);
|
||||
y4 = ypos - Lock_triangle_base * cosf(ang);
|
||||
|
||||
xpos = xpos - Lock_triangle_base * (float)cos(ang);
|
||||
ypos = ypos + Lock_triangle_base * (float)sin(ang);
|
||||
xpos = xpos - Lock_triangle_base * cosf(ang);
|
||||
ypos = ypos + Lock_triangle_base * sinf(ang);
|
||||
|
||||
hud_tri(x3, y3, xpos, ypos, x4, y4);
|
||||
} // end for
|
||||
|
||||
+12
-12
@@ -2772,8 +2772,8 @@ void HudGaugeOrientationTee::renderOrientation(object *from_objp, object *to_obj
|
||||
dot_product *= PI_2; //(range is now -PI/2 => PI/2)
|
||||
}
|
||||
|
||||
y1 = (float)sin(dot_product) * (Radius - T_OFFSET_FROM_CIRCLE);
|
||||
x1 = (float)cos(dot_product) * (Radius - T_OFFSET_FROM_CIRCLE);
|
||||
y1 = sinf(dot_product) * (Radius - T_OFFSET_FROM_CIRCLE);
|
||||
x1 = cosf(dot_product) * (Radius - T_OFFSET_FROM_CIRCLE);
|
||||
|
||||
y1 += position[1];
|
||||
x1 += position[0];
|
||||
@@ -2781,8 +2781,8 @@ void HudGaugeOrientationTee::renderOrientation(object *from_objp, object *to_obj
|
||||
x1 += HUD_offset_x;
|
||||
y1 += HUD_offset_y;
|
||||
|
||||
y2 = (float)sin(dot_product) * (Radius - T_OFFSET_FROM_CIRCLE - T_LENGTH);
|
||||
x2 = (float)cos(dot_product) * (Radius - T_OFFSET_FROM_CIRCLE - T_LENGTH);
|
||||
y2 = sinf(dot_product) * (Radius - T_OFFSET_FROM_CIRCLE - T_LENGTH);
|
||||
x2 = cosf(dot_product) * (Radius - T_OFFSET_FROM_CIRCLE - T_LENGTH);
|
||||
|
||||
y2 += position[1];
|
||||
x2 += position[0];
|
||||
@@ -2790,10 +2790,10 @@ void HudGaugeOrientationTee::renderOrientation(object *from_objp, object *to_obj
|
||||
x2 += HUD_offset_x;
|
||||
y2 += HUD_offset_y;
|
||||
|
||||
x3 = x1 - T_BASE_LENGTH * (float)sin(dot_product);
|
||||
y3 = y1 + T_BASE_LENGTH * (float)cos(dot_product);
|
||||
x4 = x1 + T_BASE_LENGTH * (float)sin(dot_product);
|
||||
y4 = y1 - T_BASE_LENGTH * (float)cos(dot_product);
|
||||
x3 = x1 - T_BASE_LENGTH * sinf(dot_product);
|
||||
y3 = y1 + T_BASE_LENGTH * cosf(dot_product);
|
||||
x4 = x1 + T_BASE_LENGTH * sinf(dot_product);
|
||||
y4 = y1 - T_BASE_LENGTH * cosf(dot_product);
|
||||
|
||||
// HACK! Should be antialiased!
|
||||
renderLine(fl2i(x3),fl2i(y3),fl2i(x4),fl2i(y4)); // bottom of T
|
||||
@@ -2935,8 +2935,8 @@ void HudGaugeReticleTriangle::renderTriangleMissileTail(float ang, float xpos, f
|
||||
|
||||
float max_tail_len=20.0f;
|
||||
|
||||
sin_ang=(float)sin(ang);
|
||||
cos_ang=(float)cos(ang);
|
||||
sin_ang=sinf(ang);
|
||||
cos_ang=cosf(ang);
|
||||
|
||||
if ( cur_dist < Min_warning_missile_dist ) {
|
||||
tail_len = 0.0f;
|
||||
@@ -3040,8 +3040,8 @@ void HudGaugeReticleTriangle::renderTriangle(vec3d *hostile_pos, int aspect_flag
|
||||
unsize( &hostile_vertex.world.xyz.x, &hostile_vertex.world.xyz.y );
|
||||
|
||||
ang = atan2_safe(hostile_vertex.world.xyz.y,hostile_vertex.world.xyz.x);
|
||||
sin_ang=(float)sin(ang);
|
||||
cos_ang=(float)cos(ang);
|
||||
sin_ang=sinf(ang);
|
||||
cos_ang=cosf(ang);
|
||||
|
||||
if ( draw_inside ) {
|
||||
xpos = position[0] + cos_ang*(Radius-7);
|
||||
|
||||
@@ -240,7 +240,7 @@ void ChttpGet::WorkerThread()
|
||||
sprintf(szCommand,"GET %s%s HTTP/1.1\nAccept: */*\nAccept-Encoding: deflate\nHost: %s\n\n\n",m_ProxyEnabled?"":"/",m_ProxyEnabled?m_URL:m_szDir,m_szHost);
|
||||
send(m_DataSock,szCommand,strlen(szCommand),0);
|
||||
p = GetHTTPLine();
|
||||
if (!p) return;
|
||||
if (!p) return;
|
||||
if(strnicmp("HTTP/",p,5)==0)
|
||||
{
|
||||
char *pcode;
|
||||
|
||||
+2
-2
@@ -835,8 +835,8 @@ void labviewer_render_model(float frametime)
|
||||
int mx, my;
|
||||
mouse_get_pos( &mx, &my );
|
||||
light_dir.xyz.y = 0.0000001f;
|
||||
light_dir.xyz.x = sin(my/150.0f);
|
||||
light_dir.xyz.z = cos(my/150.0f);
|
||||
light_dir.xyz.x = sinf(my/150.0f);
|
||||
light_dir.xyz.z = cosf(my/150.0f);
|
||||
vm_vec_normalize(&light_dir);
|
||||
vm_vec_scale(&light_dir, mx*10.1f);
|
||||
light_add_point(&light_dir,1,mx*10.2f+0.1f, 0.5f, 1.0f, 1.0f, 1.0f,-1);
|
||||
|
||||
@@ -35,6 +35,7 @@ float frand_range(float min, float max);
|
||||
#define flceil(fl) (int)ceil(fl)
|
||||
#define flfloor(fl) (int)floor(fl)
|
||||
#define f2fl(fx) ((float)(fx)/65536.0f)
|
||||
#define f2d(fx) (((double)(fx))/65536.0)
|
||||
#define fl2f(fl) (int)((fl)*65536.0f)
|
||||
#define fl_tan(fl) tanf(fl)
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@ bool vm_matrix_equal(const matrix4 &self, const matrix4 &other)
|
||||
// -----------------------------------------------------------
|
||||
// atan2_safe()
|
||||
//
|
||||
// Wrapper around atan2() that used atan() to calculate angle. Safe
|
||||
// Wrapper around atan2() that used atanf() to calculate angle. Safe
|
||||
// for optimized builds. Handles special cases when x == 0.
|
||||
//
|
||||
float atan2_safe(float y, float x)
|
||||
@@ -81,7 +81,7 @@ float atan2_safe(float y, float x)
|
||||
return ang;
|
||||
}
|
||||
|
||||
ang = (float)atan(y/x);
|
||||
ang = atanf(y/x);
|
||||
if ( x < 0.0f ){
|
||||
ang += PI;
|
||||
}
|
||||
@@ -1075,7 +1075,7 @@ angles *vm_extract_angles_matrix_alternate(angles *a, const matrix *m)
|
||||
} else if (sp >= 1.0f) {
|
||||
a->p = PI_2; // pi/2
|
||||
} else {
|
||||
a->p = asin(sp);
|
||||
a->p = asinf(sp);
|
||||
}
|
||||
|
||||
// Check for the Gimbal lock case, giving a slight tolerance
|
||||
|
||||
@@ -323,7 +323,7 @@ int add_avi( char *avi_name )
|
||||
generic_anim_init( &extra.anim_data, avi_name );
|
||||
strcpy_s( extra.name, avi_name );
|
||||
extra.num = -1;
|
||||
generic_anim_load(&extra.anim_data); // load only to validate the anim
|
||||
extra.exists = (generic_anim_load(&extra.anim_data) == 0); // load only to validate the anim
|
||||
generic_anim_unload(&extra.anim_data); // unload to not waste bmpman slots
|
||||
Message_avis.push_back(extra);
|
||||
Num_message_avis++;
|
||||
@@ -1180,7 +1180,7 @@ void message_play_anim( message_q *q )
|
||||
|
||||
// support ships use a wingman head.
|
||||
// terran command uses its own set of heads.
|
||||
if ( (anim_info->anim_data.first_frame < 0) && // note, first_frame will be >= 0 when ani is an existing file, and will be < 0 when the file does not exist and needs a, b, or c appended
|
||||
if ( (!anim_info->exists) && // if the base animation doesn't exist, then a, b, or c needs to be appended
|
||||
((q->message_num < Num_builtin_messages) || !(_strnicmp(HEAD_PREFIX_STRING, ani_name, strlen(HEAD_PREFIX_STRING)-1))) ) {
|
||||
int subhead_selected = FALSE;
|
||||
persona_index = m->persona_index;
|
||||
|
||||
@@ -28,6 +28,7 @@ typedef struct message_extra {
|
||||
char name[MAX_FILENAME_LEN];
|
||||
int num;
|
||||
generic_anim anim_data;
|
||||
bool exists;
|
||||
} message_extra;
|
||||
|
||||
extern SCP_vector<message_extra> Message_avis;
|
||||
|
||||
@@ -1293,14 +1293,21 @@ void parse_fiction(mission *pm)
|
||||
if (optional_string("$Formula:"))
|
||||
stage.formula = get_sexp_main();
|
||||
|
||||
// now, store this stage
|
||||
Fiction_viewer_stages.push_back(stage);
|
||||
|
||||
// see if this is the stage we want to display, then display it
|
||||
if (!Fred_running && !fiction_viewer_loaded && is_sexp_true(stage.formula))
|
||||
if (strlen(stage.story_filename) > 0)
|
||||
{
|
||||
fiction_viewer_load(Fiction_viewer_stages.size() - 1);
|
||||
fiction_viewer_loaded = true;
|
||||
// now, store this stage
|
||||
Fiction_viewer_stages.push_back(stage);
|
||||
|
||||
// see if this is the stage we want to display, then display it
|
||||
if (!Fred_running && !fiction_viewer_loaded && is_sexp_true(stage.formula))
|
||||
{
|
||||
fiction_viewer_load(Fiction_viewer_stages.size() - 1);
|
||||
fiction_viewer_loaded = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
error_display(0, "Fiction viewer story filename may not be empty!");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4579,7 +4586,7 @@ void parse_wing(mission *pm)
|
||||
for ( sexp = CDR(wing_goals); sexp != -1; sexp = CDR(sexp) )
|
||||
ai_add_wing_goal_sexp(sexp, AIG_TYPE_EVENT_WING, wingnum); // used by Fred
|
||||
|
||||
free_sexp2(wing_goals); // free up sexp nodes for reuse, since they aren't needed anymore.
|
||||
free_sexp2(wing_goals); // free up sexp nodes for reuse, since they aren't needed anymore.
|
||||
}
|
||||
|
||||
// set the wing number for all ships in the wing
|
||||
@@ -6552,7 +6559,7 @@ int mission_set_arrival_location(int anchor, int location, int dist, int objnum,
|
||||
// cool function by MK to give a reasonable random vector "in front" of a ship
|
||||
// rvec and uvec are the right and up vectors.
|
||||
// If these are not available, this would be an expensive method.
|
||||
x = (float)cos(ANG_TO_RAD(45));
|
||||
x = cosf(fl_radians(45.0f));
|
||||
if ( Game_mode & GM_NORMAL ) {
|
||||
r1 = rand() < RAND_MAX_2 ? -1 : 1;
|
||||
r2 = rand() < RAND_MAX_2 ? -1 : 1;
|
||||
|
||||
@@ -1927,8 +1927,8 @@ int model_get_rotated_bitmap_points(vertex *pnt,float angle, float rad, vertex *
|
||||
|
||||
Assert( G3_count == 1 );
|
||||
|
||||
sa = (float)sin(angle);
|
||||
ca = (float)cos(angle);
|
||||
sa = sinf(angle);
|
||||
ca = cosf(angle);
|
||||
|
||||
float width, height;
|
||||
|
||||
|
||||
@@ -576,8 +576,8 @@ static void set_subsystem_info(int model_num, model_subsystem *subsystemp, char
|
||||
get_user_prop_value(p+4, buf); // get the value of the fov
|
||||
else
|
||||
strcpy_s(buf,"180");
|
||||
angle = ANG_TO_RAD(atoi(buf))/2.0f;
|
||||
subsystemp->turret_fov = (float)cos(angle);
|
||||
angle = fl_radians(atoi(buf))/2.0f;
|
||||
subsystemp->turret_fov = cosf(angle);
|
||||
subsystemp->turret_num_firing_points = 0;
|
||||
|
||||
if ( (p = strstr(props, "$crewspot")) != NULL) {
|
||||
@@ -3667,9 +3667,9 @@ void submodel_look_at(polymodel *pm, int mn)
|
||||
vm_vec_cross(&c, &l, &mp);
|
||||
float dot=vm_vec_dot(&l,&mp);
|
||||
if (dot>=0.0f) {
|
||||
*a = asin(c.a1d[axis]);
|
||||
*a = asinf(c.a1d[axis]);
|
||||
} else {
|
||||
*a = PI-asin(c.a1d[axis]);
|
||||
*a = PI-asinf(c.a1d[axis]);
|
||||
}
|
||||
|
||||
if (*a > PI2 ) {
|
||||
@@ -3961,7 +3961,7 @@ int model_rotate_gun(int model_num, model_subsystem *turret, matrix *orient, ang
|
||||
// vm_extract_angles_vector(&desired_angles, &of_dst);
|
||||
|
||||
if (reset == false) {
|
||||
desired_angles.p = (float)acos(of_dst.xyz.z);
|
||||
desired_angles.p = acosf(of_dst.xyz.z);
|
||||
desired_angles.h = PI - atan2_safe(of_dst.xyz.x, of_dst.xyz.y);
|
||||
desired_angles.b = 0.0f;
|
||||
} else {
|
||||
@@ -5717,8 +5717,8 @@ void parse_glowpoint_table(const char *filename)
|
||||
|
||||
if (optional_string("$Cone angle:")) {
|
||||
stuff_float(&gpo.cone_angle);
|
||||
gpo.cone_inner_angle = cos((gpo.cone_angle - ((gpo.cone_angle < 20.0f) ? gpo.cone_angle*0.5f : 20.0f)) / 180.0f * PI);
|
||||
gpo.cone_angle = cos(gpo.cone_angle / 180.0f * PI);
|
||||
gpo.cone_inner_angle = cosf((gpo.cone_angle - ((gpo.cone_angle < 20.0f) ? gpo.cone_angle*0.5f : 20.0f)) / 180.0f * PI);
|
||||
gpo.cone_angle = cosf(gpo.cone_angle / 180.0f * PI);
|
||||
}
|
||||
|
||||
required_string("$Cone direction:");
|
||||
|
||||
@@ -46,7 +46,7 @@ void multi_ping_reset(ping_struct *ps)
|
||||
ps->ping_add = 0;
|
||||
|
||||
// set the ping start to be -1
|
||||
ps->ping_start = -1.0f;
|
||||
ps->ping_start = -1L;
|
||||
|
||||
ps->ping_avg = -1;
|
||||
|
||||
@@ -54,20 +54,21 @@ void multi_ping_reset(ping_struct *ps)
|
||||
}
|
||||
|
||||
// evaluate a pong return on the given struct
|
||||
void multi_ping_eval_pong(ping_struct *ps)
|
||||
void multi_ping_eval_pong(ping_struct *ps, fix pong_time)
|
||||
{
|
||||
int idx;
|
||||
float ping_sum;
|
||||
fix ping_sum;
|
||||
|
||||
// if the ping technically hasn't started,
|
||||
if(ps->ping_start < 0.0f){
|
||||
if(ps->ping_start < 0L){
|
||||
nprintf(("Network","Processing pong for ping which hasn't started yet!\n"));
|
||||
return;
|
||||
}
|
||||
|
||||
// if we still have room to add a ping
|
||||
if(ps->num_pings < MAX_PINGS){
|
||||
ps->ping_times[ps->ping_add++] = f2fl(timer_get_fixed_seconds()) - ps->ping_start;
|
||||
ps->ping_times[ps->ping_add++] = pong_time - ps->ping_start;
|
||||
Assertion(ps->ping_times[ps->ping_add-1] > 0L, "Non-positive ping value!");
|
||||
ps->num_pings++;
|
||||
}
|
||||
// otherwise if we've wrapped around
|
||||
@@ -79,21 +80,22 @@ void multi_ping_eval_pong(ping_struct *ps)
|
||||
ps->ping_add++;
|
||||
}
|
||||
|
||||
ps->ping_times[ps->ping_add] = f2fl(timer_get_fixed_seconds()) - ps->ping_start;
|
||||
ps->ping_times[ps->ping_add] = pong_time - ps->ping_start;
|
||||
Assertion(ps->ping_times[ps->ping_add == 0 ? MAX_PINGS - 1 : ps->ping_add - 1] > 0L, "Non-positive ping value!");
|
||||
}
|
||||
|
||||
// calculate the average ping time
|
||||
ping_sum = 0.0f;
|
||||
ping_sum = 0L;
|
||||
for(idx=0;idx<ps->num_pings;idx++){
|
||||
ping_sum += ps->ping_times[idx];
|
||||
}
|
||||
ps->ping_avg = (int)(1000.0f * (ping_sum / (float)ps->num_pings));
|
||||
ps->ping_avg = (int)(f2d(1000L * ping_sum) / (double)ps->num_pings);
|
||||
}
|
||||
|
||||
// start a ping - call this when sending a ping packet
|
||||
void multi_ping_start(ping_struct *ps)
|
||||
{
|
||||
ps->ping_start = f2fl(timer_get_fixed_seconds());
|
||||
ps->ping_start = timer_get_fixed_seconds();
|
||||
}
|
||||
|
||||
// send a ping to a specific player
|
||||
|
||||
@@ -24,8 +24,8 @@ struct net_player;
|
||||
#define MAX_PINGS 10
|
||||
|
||||
typedef struct ping_struct {
|
||||
float ping_start; // time the current ping was sent out, or -1 if none
|
||||
float ping_times[MAX_PINGS]; // ping times for calculating the average
|
||||
fix ping_start; // time the current ping was sent out, or -1 if none. using fix for higher precision
|
||||
fix ping_times[MAX_PINGS]; // ping times for calculating the average, using precision of timer_get_fixed_seconds()
|
||||
int num_pings; // # of pings in the ping_times array
|
||||
int ping_add; // where to add the next ping
|
||||
|
||||
@@ -47,7 +47,7 @@ void multi_ping_reset(ping_struct *ps);
|
||||
void multi_ping_start(ping_struct *ps);
|
||||
|
||||
// evaluate a pong return on the given struct
|
||||
void multi_ping_eval_pong(ping_struct *ps);
|
||||
void multi_ping_eval_pong(ping_struct *ps, fix pong_time);
|
||||
|
||||
// send a ping to a specific player
|
||||
void multi_ping_send(net_player *p);
|
||||
|
||||
@@ -3502,7 +3502,7 @@ void process_pong_packet(ubyte *data, header *hinfo)
|
||||
p = &Net_players[lookup];
|
||||
|
||||
// evaluate the ping
|
||||
multi_ping_eval_pong(&Net_players[lookup].s_info.ping);
|
||||
multi_ping_eval_pong(&Net_players[lookup].s_info.ping, timer_get_fixed_seconds());
|
||||
|
||||
// put in calls to any functions which may want to know about the ping times from
|
||||
// this guy
|
||||
@@ -7994,7 +7994,7 @@ void process_beam_fired_packet(ubyte *data, header *hinfo)
|
||||
shipp->beam_sys_info.model_num = Ship_info[shipp->ship_info_index].model_num;
|
||||
shipp->beam_sys_info.turret_gun_sobj = pm->detail[0];
|
||||
shipp->beam_sys_info.turret_num_firing_points = 1;
|
||||
shipp->beam_sys_info.turret_fov = (float)cos((field_of_fire != 0.0f) ? field_of_fire : 180);
|
||||
shipp->beam_sys_info.turret_fov = cosf((field_of_fire != 0.0f) ? field_of_fire : 180);
|
||||
shipp->beam_sys_info.pnt = fire_info.targeting_laser_offset;
|
||||
shipp->beam_sys_info.turret_firing_point[0] = fire_info.targeting_laser_offset;
|
||||
|
||||
|
||||
@@ -1566,7 +1566,7 @@ void multi_join_eval_pong(net_addr *addr, fix pong_time)
|
||||
if(moveup != NULL){
|
||||
do {
|
||||
if(psnet_same(&moveup->server_addr,addr)){
|
||||
multi_ping_eval_pong(&moveup->ping);
|
||||
multi_ping_eval_pong(&moveup->ping, pong_time);
|
||||
|
||||
break;
|
||||
} else {
|
||||
|
||||
+8
-7
@@ -9574,7 +9574,7 @@ ADE_VIRTVAR(Gliding, l_Ship, "boolean", "Specifies whether this ship is currentl
|
||||
return ADE_RETURN_FALSE;
|
||||
}
|
||||
|
||||
ADE_VIRTVAR(EtsEngineIndex, l_Ship, "number", "(not implemented)", "number", "Ships ETS Engine index value, 0 to MAX_ENERGY_INDEX")
|
||||
ADE_VIRTVAR(EtsEngineIndex, l_Ship, "number", "(SET not implemented, see EtsSetIndexes)", "number", "Ships ETS Engine index value, 0 to MAX_ENERGY_INDEX")
|
||||
{
|
||||
object_h *objh=NULL;
|
||||
int ets_idx = 0;
|
||||
@@ -9591,7 +9591,7 @@ ADE_VIRTVAR(EtsEngineIndex, l_Ship, "number", "(not implemented)", "number", "Sh
|
||||
return ade_set_args(L, "i", Ships[objh->objp->instance].engine_recharge_index);
|
||||
}
|
||||
|
||||
ADE_VIRTVAR(EtsShieldIndex, l_Ship, "number", "(not implemented)", "number", "Ships ETS Shield index value, 0 to MAX_ENERGY_INDEX")
|
||||
ADE_VIRTVAR(EtsShieldIndex, l_Ship, "number", "(SET not implemented, see EtsSetIndexes)", "number", "Ships ETS Shield index value, 0 to MAX_ENERGY_INDEX")
|
||||
{
|
||||
object_h *objh=NULL;
|
||||
int ets_idx = 0;
|
||||
@@ -9608,7 +9608,7 @@ ADE_VIRTVAR(EtsShieldIndex, l_Ship, "number", "(not implemented)", "number", "Sh
|
||||
return ade_set_args(L, "i", Ships[objh->objp->instance].shield_recharge_index);
|
||||
}
|
||||
|
||||
ADE_VIRTVAR(EtsWeaponIndex, l_Ship, "number", "(not implemented)", "number", "Ships ETS Weapon index value, 0 to MAX_ENERGY_INDEX")
|
||||
ADE_VIRTVAR(EtsWeaponIndex, l_Ship, "number", "(SET not implemented, see EtsSetIndexes)", "number", "Ships ETS Weapon index value, 0 to MAX_ENERGY_INDEX")
|
||||
{
|
||||
object_h *objh=NULL;
|
||||
int ets_idx = 0;
|
||||
@@ -10110,9 +10110,9 @@ ADE_FUNC(doManeuver, l_Ship, "number Duration, number Heading, number Pitch, num
|
||||
return ADE_RETURN_TRUE;
|
||||
}
|
||||
|
||||
ADE_FUNC(triggerAnimation, l_Ship, "string Type, [number Subtype, boolean Forwards]",
|
||||
ADE_FUNC(triggerAnimation, l_Ship, "string Type, [number Subtype, boolean Forwards, boolean Instant]",
|
||||
"Triggers an animation. Type is the string name of the animation type, "
|
||||
"Subtype is the subtype number, such as weapon bank #, and Forwards is boolean."
|
||||
"Subtype is the subtype number, such as weapon bank #, Forwards and Instant are boolean, defaulting to true & false respectively."
|
||||
"<br><strong>IMPORTANT: Function is in testing and should not be used with official mod releases</strong>",
|
||||
"boolean",
|
||||
"True if successful, false or nil otherwise")
|
||||
@@ -10120,8 +10120,9 @@ ADE_FUNC(triggerAnimation, l_Ship, "string Type, [number Subtype, boolean Forwar
|
||||
object_h *objh;
|
||||
char *s = NULL;
|
||||
bool b = true;
|
||||
bool instant = false;
|
||||
int subtype=-1;
|
||||
if(!ade_get_args(L, "o|sib", l_Ship.GetPtr(&objh), &s, &subtype, &b))
|
||||
if(!ade_get_args(L, "o|sibb", l_Ship.GetPtr(&objh), &s, &subtype, &b, &instant))
|
||||
return ADE_RETURN_NIL;
|
||||
|
||||
if(!objh->IsValid())
|
||||
@@ -10135,7 +10136,7 @@ ADE_FUNC(triggerAnimation, l_Ship, "string Type, [number Subtype, boolean Forwar
|
||||
if(!b)
|
||||
dir = -1;
|
||||
|
||||
model_anim_start_type(&Ships[objh->objp->instance], type, subtype, dir);
|
||||
model_anim_start_type(&Ships[objh->objp->instance], type, subtype, dir, instant);
|
||||
|
||||
return ADE_RETURN_TRUE;
|
||||
}
|
||||
|
||||
@@ -1245,8 +1245,8 @@ void stuff_string(char *outstr, int type, int len, char *terminators)
|
||||
if (type == F_FILESPEC) {
|
||||
// Make sure that the passed string looks like a good filename
|
||||
if (strlen(read_str) == 0) {
|
||||
// Empty file name is not valid!
|
||||
error_display(1, "A file name was expected but no name was supplied!\n");
|
||||
// Empty file name is probably not valid!
|
||||
error_display(0, "A file name was expected but no name was supplied! This is probably a mistake.");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -15351,7 +15351,7 @@ int sexp_facing(int node)
|
||||
vm_vec_normalize(&v2);
|
||||
|
||||
a1 = vm_vec_dot(&v1, &v2);
|
||||
a2 = (float) cos(ANG_TO_RAD(angle));
|
||||
a2 = cosf(fl_radians(angle));
|
||||
if (a1 >= a2){
|
||||
return SEXP_TRUE;
|
||||
}
|
||||
@@ -15411,7 +15411,7 @@ int sexp_is_facing(int node)
|
||||
vm_vec_normalize(&v2);
|
||||
|
||||
a1 = vm_vec_dot(&v1, &v2);
|
||||
a2 = (float) cos(ANG_TO_RAD(angle));
|
||||
a2 = cosf(fl_radians(angle));
|
||||
if (a1 >= a2){
|
||||
return SEXP_TRUE;
|
||||
}
|
||||
@@ -15447,7 +15447,7 @@ int sexp_facing2(int node)
|
||||
vm_vec_sub(&v2, wp_list->get_waypoints().front().get_pos(), &Player_obj->pos);
|
||||
vm_vec_normalize(&v2);
|
||||
a1 = vm_vec_dot(&v1, &v2);
|
||||
a2 = (float) cos(ANG_TO_RAD(atof(CTEXT(CDR(node)))));
|
||||
a2 = cosf(fl_radians(atof(CTEXT(CDR(node)))));
|
||||
if (a1 >= a2){
|
||||
return SEXP_TRUE;
|
||||
}
|
||||
|
||||
@@ -581,6 +581,16 @@ void read_keyboard_controls( control_info * ci, float frame_time, physics_info *
|
||||
override_analog_throttle = 1;
|
||||
}
|
||||
|
||||
// allow a minimum speed to be set for the player ship (only)
|
||||
if ( Player_ship != nullptr && Player_ship->ship_info_index >= 0 ) {
|
||||
float z_min = Ship_info[Player_ship->ship_info_index].min_vel.xyz.z;
|
||||
if (z_min > 0.0f && pi->speed <= z_min) {
|
||||
ci->forward = MAX(ci->forward, 0.0f);
|
||||
ci->forward_cruise_percent = MAX(ci->forward_cruise_percent, z_min / Ship_info[Player_ship->ship_info_index].max_vel.xyz.z * 100.0f);
|
||||
override_analog_throttle = 1;
|
||||
}
|
||||
}
|
||||
|
||||
// AL 12-29-97: If afterburner key is down, player should have full forward thrust (even if afterburners run out)
|
||||
if ( check_control(AFTERBURNER) ) {
|
||||
ci->forward = 1.0f;
|
||||
|
||||
@@ -367,7 +367,7 @@ void HudGaugeRadarStd::plotBlip(blip *b, int *x, int *y)
|
||||
if (b->dist < pos->xyz.z) {
|
||||
rscale = 0.0f;
|
||||
} else {
|
||||
rscale = (float) acos(pos->xyz.z / b->dist) / PI; //2.0f;
|
||||
rscale = (float) acosf(pos->xyz.z / b->dist) / PI; //2.0f;
|
||||
}
|
||||
|
||||
zdist = fl_sqrt((pos->xyz.x * pos->xyz.x) + (pos->xyz.y * pos->xyz.y));
|
||||
|
||||
@@ -59,8 +59,8 @@ HudGaugeRadar(HUD_OBJECT_RADAR_ORB, 255, 255, 255)
|
||||
|
||||
for (i=0; i < NUM_ORB_RING_SLICES; i++)
|
||||
{
|
||||
s=(float)sin(float(i*PI2)/NUM_ORB_RING_SLICES);
|
||||
c=(float)cos(float(i*PI2)/NUM_ORB_RING_SLICES);
|
||||
s=sinf(float(i*PI2)/NUM_ORB_RING_SLICES);
|
||||
c=cosf(float(i*PI2)/NUM_ORB_RING_SLICES);
|
||||
|
||||
orb_ring_xy[i].xyz.x = c;
|
||||
orb_ring_xy[i].xyz.y = s;
|
||||
@@ -412,7 +412,7 @@ int HudGaugeRadarOrb::calcAlpha(vec3d* pt)
|
||||
vm_vec_normalize(&new_pt);
|
||||
|
||||
float dot = vm_vec_dot(&fvec, &new_pt);
|
||||
float angle = fabs(acos(dot));
|
||||
float angle = fabs(acosf(dot));
|
||||
int alpha = int(angle*192.0f/PI);
|
||||
|
||||
return alpha;
|
||||
|
||||
@@ -861,8 +861,8 @@ int g3_draw_rotated_bitmap(vertex *pnt,float angle, float rad,uint tmap_flags, f
|
||||
else if ( angle > PI2 )
|
||||
angle -= PI2;
|
||||
|
||||
sa = (float)sin(angle);
|
||||
ca = (float)cos(angle);
|
||||
sa = sinf(angle);
|
||||
ca = cosf(angle);
|
||||
|
||||
float width, height;
|
||||
|
||||
@@ -1084,8 +1084,8 @@ float g3_draw_rotated_bitmap_area(vertex *pnt,float angle, float rad,uint tmap_f
|
||||
angle -= PI2;
|
||||
}
|
||||
|
||||
sa = (float)sin(angle);
|
||||
ca = (float)cos(angle);
|
||||
sa = sinf(angle);
|
||||
ca = cosf(angle);
|
||||
|
||||
float width, height;
|
||||
|
||||
@@ -1420,12 +1420,12 @@ void stars_project_2d_onto_sphere( vec3d *pnt, float rho, float phi, float theta
|
||||
{
|
||||
float a = PI * phi;
|
||||
float b = PI2 * theta;
|
||||
float sin_a = (float)sin(a);
|
||||
float sin_a = sinf(a);
|
||||
|
||||
// coords
|
||||
pnt->xyz.z = rho * sin_a * (float)cos(b);
|
||||
pnt->xyz.y = rho * sin_a * (float)sin(b);
|
||||
pnt->xyz.x = rho * (float)cos(a);
|
||||
pnt->xyz.z = rho * sin_a * cosf(b);
|
||||
pnt->xyz.y = rho * sin_a * sinf(b);
|
||||
pnt->xyz.x = rho * cosf(a);
|
||||
}
|
||||
|
||||
// draw a perspective bitmap based on angles and radius
|
||||
|
||||
@@ -215,8 +215,8 @@ float g3_draw_laser(const vec3d *headp, float head_width, const vec3d *tailp, fl
|
||||
|
||||
float sa, ca;
|
||||
|
||||
sa = (float)sin(a);
|
||||
ca = (float)cos(a);
|
||||
sa = sinf(a);
|
||||
ca = cosf(a);
|
||||
|
||||
vertex v[4];
|
||||
vertex *vertlist[4] = { &v[3], &v[2], &v[1], &v[0] };
|
||||
@@ -364,8 +364,8 @@ float g3_draw_laser_rgb(const vec3d *headp, float head_width, const vec3d *tailp
|
||||
|
||||
float sa, ca;
|
||||
|
||||
sa = (float)sin(a);
|
||||
ca = (float)cos(a);
|
||||
sa = sinf(a);
|
||||
ca = cosf(a);
|
||||
|
||||
vertex v[4];
|
||||
vertex *vertlist[4] = { &v[3], &v[2], &v[1], &v[0] };
|
||||
|
||||
+59
-25
@@ -707,6 +707,7 @@ void ship_info::clone(const ship_info& other)
|
||||
rotdamp = other.rotdamp;
|
||||
delta_bank_const = other.delta_bank_const;
|
||||
max_vel = other.max_vel;
|
||||
min_vel = other.min_vel;
|
||||
max_rotvel = other.max_rotvel;
|
||||
rotation_time = other.rotation_time;
|
||||
srotation_time = other.srotation_time;
|
||||
@@ -1013,6 +1014,7 @@ void ship_info::move(ship_info&& other)
|
||||
rotdamp = other.rotdamp;
|
||||
delta_bank_const = other.delta_bank_const;
|
||||
std::swap(max_vel, other.max_vel);
|
||||
std::swap(min_vel, other.min_vel);
|
||||
std::swap(max_rotvel, other.max_rotvel);
|
||||
std::swap(rotation_time, other.rotation_time);
|
||||
srotation_time = other.srotation_time;
|
||||
@@ -1336,6 +1338,7 @@ ship_info::ship_info()
|
||||
rotdamp = 0.0f;
|
||||
delta_bank_const = DEFAULT_DELTA_BANK_CONST;
|
||||
vm_vec_zero(&max_vel);
|
||||
vm_vec_zero(&min_vel);
|
||||
vm_vec_zero(&max_rotvel);
|
||||
vm_vec_zero(&rotation_time);
|
||||
srotation_time = 0.0f;
|
||||
@@ -2524,17 +2527,17 @@ int parse_ship_values(ship_info* sip, const bool is_template, const bool first_t
|
||||
if(optional_string("+Landing Max Angle:")) {
|
||||
float degrees;
|
||||
stuff_float(°rees);
|
||||
sip->collision_physics.landing_max_angle = cos(ANG_TO_RAD(90 - degrees));
|
||||
sip->collision_physics.landing_max_angle = cosf(fl_radians(90.0f - degrees));
|
||||
}
|
||||
if(optional_string("+Landing Min Angle:")) {
|
||||
float degrees;
|
||||
stuff_float(°rees);
|
||||
sip->collision_physics.landing_min_angle = cos(ANG_TO_RAD(90 - degrees));
|
||||
sip->collision_physics.landing_min_angle = cosf(fl_radians(90.0f - degrees));
|
||||
}
|
||||
if(optional_string("+Landing Max Rotate Angle:")) {
|
||||
float degrees;
|
||||
stuff_float(°rees);
|
||||
sip->collision_physics.landing_max_rot_angle = cos(ANG_TO_RAD(90 - degrees));
|
||||
sip->collision_physics.landing_max_rot_angle = cosf(fl_radians(90.0f - degrees));
|
||||
}
|
||||
if(optional_string("+Reorient Max Forward Vel:")) {
|
||||
stuff_float(&sip->collision_physics.reorient_max_z);
|
||||
@@ -2552,17 +2555,17 @@ int parse_ship_values(ship_info* sip, const bool is_template, const bool first_t
|
||||
if(optional_string("+Reorient Max Angle:")) {
|
||||
float degrees;
|
||||
stuff_float(°rees);
|
||||
sip->collision_physics.reorient_max_angle = cos(ANG_TO_RAD(90 - degrees));
|
||||
sip->collision_physics.reorient_max_angle = cosf(fl_radians(90.0f - degrees));
|
||||
}
|
||||
if(optional_string("+Reorient Min Angle:")) {
|
||||
float degrees;
|
||||
stuff_float(°rees);
|
||||
sip->collision_physics.reorient_min_angle = cos(ANG_TO_RAD(90 - degrees));
|
||||
sip->collision_physics.reorient_min_angle = cosf(fl_radians(90.0f - degrees));
|
||||
}
|
||||
if(optional_string("+Reorient Max Rotate Angle:")) {
|
||||
float degrees;
|
||||
stuff_float(°rees);
|
||||
sip->collision_physics.reorient_max_rot_angle = cos(ANG_TO_RAD(90 - degrees));
|
||||
sip->collision_physics.reorient_max_rot_angle = cosf(fl_radians(90.0f - degrees));
|
||||
}
|
||||
if(optional_string("+Reorient Speed Mult:")) {
|
||||
stuff_float(&sip->collision_physics.reorient_mult);
|
||||
@@ -2570,7 +2573,7 @@ int parse_ship_values(ship_info* sip, const bool is_template, const bool first_t
|
||||
if(optional_string("+Landing Rest Angle:")) {
|
||||
float degrees;
|
||||
stuff_float(°rees);
|
||||
sip->collision_physics.landing_rest_angle = cos(ANG_TO_RAD(90 - degrees));
|
||||
sip->collision_physics.landing_rest_angle = cosf(fl_radians(90.0f - degrees));
|
||||
}
|
||||
parse_sound("+Landing Sound:", &sip->collision_physics.landing_sound_idx, sip->name);
|
||||
}
|
||||
@@ -2681,6 +2684,9 @@ int parse_ship_values(ship_info* sip, const bool is_template, const bool first_t
|
||||
// calculate the max speed from max_velocity
|
||||
sip->max_speed = sip->max_vel.xyz.z;
|
||||
|
||||
if(optional_string("$Player Minimum Velocity:"))
|
||||
stuff_vec3d(&sip->min_vel);
|
||||
|
||||
if(optional_string("$Rotation Time:"))
|
||||
{
|
||||
stuff_vec3d(&sip->rotation_time);
|
||||
@@ -4201,16 +4207,16 @@ int parse_ship_values(ship_info* sip, const bool is_template, const bool first_t
|
||||
int value;
|
||||
stuff_int(&value);
|
||||
CAP(value, 0, 90);
|
||||
float angle = ANG_TO_RAD((float) (90 - value));
|
||||
sp->turret_max_fov = (float)cos(angle);
|
||||
float angle = fl_radians(90 - value);
|
||||
sp->turret_max_fov = cosf(angle);
|
||||
}
|
||||
|
||||
if(optional_string("$Turret Base FOV:")) {
|
||||
int value;
|
||||
stuff_int(&value);
|
||||
CAP(value, 0, 359);
|
||||
float angle = ANG_TO_RAD((float) value)/2.0f;
|
||||
sp->turret_y_fov = (float)cos(angle);
|
||||
float angle = fl_radians(value)/2.0f;
|
||||
sp->turret_y_fov = cosf(angle);
|
||||
turret_has_base_fov = true;
|
||||
}
|
||||
|
||||
@@ -5055,6 +5061,26 @@ void ship_parse_post_cleanup()
|
||||
{
|
||||
Warning(LOCATION, "$Rotation time: too low; this will disable rotational collisions. All three variables should be >= 1.39.\nFix this in ship '%s'\n", sip->name);
|
||||
}
|
||||
|
||||
// ensure player min velocity makes sense
|
||||
if (sip->min_vel.xyz.x > sip->max_vel.xyz.x || sip->min_vel.xyz.x < 0.0f)
|
||||
{
|
||||
error_display(0, "$Player Minimum Velocity X-value (%f) is negative or greater than max velocity X-value (%f), setting to zero\nFix for ship '%s'\n",
|
||||
sip->min_vel.xyz.x, sip->max_vel.xyz.x, sip->name);
|
||||
sip->min_vel.xyz.x = 0.0f;
|
||||
}
|
||||
if (sip->min_vel.xyz.y > sip->max_vel.xyz.y || sip->min_vel.xyz.y < 0.0f)
|
||||
{
|
||||
error_display(0, "$Player Minimum Velocity Y-value (%f) is negative or greater than max velocity Y-value (%f), setting to zero\nFix for ship '%s'\n",
|
||||
sip->min_vel.xyz.y, sip->max_vel.xyz.y, sip->name);
|
||||
sip->min_vel.xyz.y = 0.0f;
|
||||
}
|
||||
if (sip->min_vel.xyz.z > sip->max_vel.xyz.z || sip->min_vel.xyz.z < 0.0f)
|
||||
{
|
||||
error_display(0, "$Player Minimum Velocity Z-value (%f) is negative or greater than max velocity Z-value (%f), setting to zero\nFix for ship '%s'\n",
|
||||
sip->min_vel.xyz.z, sip->max_vel.xyz.z, sip->name);
|
||||
sip->min_vel.xyz.z = 0.0f;
|
||||
}
|
||||
}
|
||||
|
||||
// check also target groups here
|
||||
@@ -10687,13 +10713,16 @@ int ship_stop_fire_primary_bank(object * obj, int bank_to_stop)
|
||||
shipp = &Ships[obj->instance];
|
||||
swp = &shipp->weapons;
|
||||
|
||||
if(shipp->primary_rotate_rate[bank_to_stop] > 0.0f)
|
||||
shipp->primary_rotate_rate[bank_to_stop] -= Weapon_info[swp->primary_bank_weapons[bank_to_stop]].weapon_submodel_rotate_accell*flFrametime;
|
||||
if(shipp->primary_rotate_rate[bank_to_stop] < 0.0f)
|
||||
shipp->primary_rotate_rate[bank_to_stop] = 0.0f;
|
||||
if(Ship_info[shipp->ship_info_index].draw_primary_models[bank_to_stop]){
|
||||
if(shipp->primary_rotate_rate[bank_to_stop] > 0.0f)
|
||||
shipp->primary_rotate_rate[bank_to_stop] -= Weapon_info[swp->primary_bank_weapons[bank_to_stop]].weapon_submodel_rotate_accell*flFrametime;
|
||||
if(shipp->primary_rotate_rate[bank_to_stop] < 0.0f)shipp->primary_rotate_rate[bank_to_stop] = 0.0f;
|
||||
shipp->primary_rotate_ang[bank_to_stop] += shipp->primary_rotate_rate[bank_to_stop]*flFrametime;
|
||||
if(shipp->primary_rotate_ang[bank_to_stop] > PI2)shipp->primary_rotate_ang[bank_to_stop] -= PI2;
|
||||
if(shipp->primary_rotate_ang[bank_to_stop] < 0.0f)shipp->primary_rotate_ang[bank_to_stop] += PI2;
|
||||
if(shipp->primary_rotate_ang[bank_to_stop] > PI2)
|
||||
shipp->primary_rotate_ang[bank_to_stop] -= PI2;
|
||||
if(shipp->primary_rotate_ang[bank_to_stop] < 0.0f)
|
||||
shipp->primary_rotate_ang[bank_to_stop] += PI2;
|
||||
}
|
||||
|
||||
if(shipp->was_firing_last_frame[bank_to_stop] == 0)
|
||||
@@ -10898,15 +10927,20 @@ int ship_fire_primary(object * obj, int stream_weapons, int force)
|
||||
vm_vec_scale_sub2(&target_velocity_vec, &obj->phys_info.vel, winfo_p->vel_inherit_amount);
|
||||
}
|
||||
|
||||
if(sip->draw_primary_models[bank_to_fire]){
|
||||
if(shipp->primary_rotate_rate[bank_to_fire] < winfo_p->weapon_submodel_rotate_vel)
|
||||
if (winfo_p->weapon_submodel_rotate_vel > 0.0f) {
|
||||
if (shipp->primary_rotate_rate[bank_to_fire] < winfo_p->weapon_submodel_rotate_vel)
|
||||
shipp->primary_rotate_rate[bank_to_fire] += winfo_p->weapon_submodel_rotate_accell*flFrametime;
|
||||
if(shipp->primary_rotate_rate[bank_to_fire] > winfo_p->weapon_submodel_rotate_vel)shipp->primary_rotate_rate[bank_to_fire] = winfo_p->weapon_submodel_rotate_vel;
|
||||
shipp->primary_rotate_ang[bank_to_fire] += shipp->primary_rotate_rate[bank_to_fire]*flFrametime;
|
||||
if(shipp->primary_rotate_ang[bank_to_fire] > PI2)shipp->primary_rotate_ang[bank_to_fire] -= PI2;
|
||||
if(shipp->primary_rotate_ang[bank_to_fire] < 0.0f)shipp->primary_rotate_ang[bank_to_fire] += PI2;
|
||||
|
||||
if(shipp->primary_rotate_rate[bank_to_fire] < winfo_p->weapon_submodel_rotate_vel)continue;
|
||||
if (shipp->primary_rotate_rate[bank_to_fire] > winfo_p->weapon_submodel_rotate_vel)
|
||||
shipp->primary_rotate_rate[bank_to_fire] = winfo_p->weapon_submodel_rotate_vel;
|
||||
if (sip->draw_primary_models[bank_to_fire]) {
|
||||
shipp->primary_rotate_ang[bank_to_fire] += shipp->primary_rotate_rate[bank_to_fire]*flFrametime;
|
||||
if (shipp->primary_rotate_ang[bank_to_fire] > PI2)
|
||||
shipp->primary_rotate_ang[bank_to_fire] -= PI2;
|
||||
if (shipp->primary_rotate_ang[bank_to_fire] < 0.0f)
|
||||
shipp->primary_rotate_ang[bank_to_fire] += PI2;
|
||||
}
|
||||
if (shipp->primary_rotate_rate[bank_to_fire] < winfo_p->weapon_submodel_rotate_vel)
|
||||
continue;
|
||||
}
|
||||
// if this is a targeting laser, start it up ///- only targeting laser if it is tag-c, otherwise it's a fighter beam -Bobboau
|
||||
if((winfo_p->wi_flags & WIF_BEAM) && (winfo_p->tag_level == 3) && (shipp->flags & SF_TRIGGER_DOWN) && (winfo_p->b_info.beam_type == BEAM_TYPE_C) ){
|
||||
@@ -11111,7 +11145,7 @@ int ship_fire_primary(object * obj, int stream_weapons, int force)
|
||||
shipp->beam_sys_info.model_num = sip->model_num;
|
||||
shipp->beam_sys_info.turret_gun_sobj = pm->detail[0];
|
||||
shipp->beam_sys_info.turret_num_firing_points = 1; // dummy turret info is used per firepoint
|
||||
shipp->beam_sys_info.turret_fov = (float)cos((winfo_p->field_of_fire != 0.0f)?winfo_p->field_of_fire:180);
|
||||
shipp->beam_sys_info.turret_fov = cosf((winfo_p->field_of_fire != 0.0f)?winfo_p->field_of_fire:180);
|
||||
|
||||
shipp->fighter_beam_turret_data.disruption_timestamp = timestamp(0);
|
||||
shipp->fighter_beam_turret_data.turret_next_fire_pos = 0;
|
||||
|
||||
@@ -1194,6 +1194,7 @@ public:
|
||||
float rotdamp; // rotational drag
|
||||
float delta_bank_const;
|
||||
vec3d max_vel; // max velocity of the ship in the linear directions -- read from ships.tbl
|
||||
vec3d min_vel; // min velocity of the ship in the linear directions -- read from ships.tbl
|
||||
vec3d max_rotvel; // maximum rotational velocity
|
||||
vec3d rotation_time; // time to rotate in x/y/z dimension traveling at max rotvel
|
||||
float srotation_time; // scalar, computed at runtime as (rotation_time.x + rotation_time.y)/2
|
||||
|
||||
@@ -3041,7 +3041,7 @@ void engine_wash_ship_process(ship *shipp)
|
||||
vm_vec_normalize(&apex_to_ship);
|
||||
|
||||
// check if inside cone angle
|
||||
if (vm_vec_dot(&apex_to_ship, &world_thruster_norm) > cos(half_angle)) {
|
||||
if (vm_vec_dot(&apex_to_ship, &world_thruster_norm) > cosf(half_angle)) {
|
||||
vm_vec_cross(&temp, &world_thruster_norm, &thruster_to_ship);
|
||||
vm_vec_scale_add2(&shipp->wash_rot_axis, &temp, dot_to_ship / dist_sqr);
|
||||
ship_intensity += (1.0f - dist_sqr / (max_wash_dist*max_wash_dist));
|
||||
|
||||
@@ -60,8 +60,8 @@ void project_2d_onto_sphere( vec3d *pnt, float u, float v )
|
||||
a = PI * (2.0f * u - 1.0f );
|
||||
z = 2.0f * v - 1.0f;
|
||||
s = scale_factor * fl_sqrt( 1.0f - z*z );
|
||||
x = s * (float)cos(a);
|
||||
y = s * (float)sin(a);
|
||||
x = s * cosf(a);
|
||||
y = s * sinf(a);
|
||||
pnt->xyz.x = x;
|
||||
pnt->xyz.y = y;
|
||||
pnt->xyz.z = z;
|
||||
@@ -134,9 +134,9 @@ void nebula_init( const char *filename, int pitch, int bank, int heading )
|
||||
{
|
||||
angles a;
|
||||
|
||||
a.p = ANG_TO_RAD((float) pitch);
|
||||
a.b = ANG_TO_RAD((float) bank);
|
||||
a.h = ANG_TO_RAD((float) heading);
|
||||
a.p = fl_radians(pitch);
|
||||
a.b = fl_radians(bank);
|
||||
a.h = fl_radians(heading);
|
||||
nebula_init(filename, &a);
|
||||
}
|
||||
|
||||
|
||||
@@ -3411,7 +3411,7 @@ float beam_get_cone_dot(beam *b)
|
||||
case BEAM_TYPE_D:
|
||||
case BEAM_TYPE_E:
|
||||
// even though these beams don't move, return a _very_ small value
|
||||
return (float)cos(fl_radians(50.5f));
|
||||
return cosf(fl_radians(50.5f));
|
||||
|
||||
case BEAM_TYPE_B:
|
||||
return vm_vec_dot(&b->binfo.dir_a, &b->binfo.dir_b);
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
|
||||
|
||||
#define SWARM_DIST_OFFSET 2.0 // distance swarm missile should vary from original path
|
||||
#define SWARM_DIST_OFFSET 2.0f // distance swarm missile should vary from original path
|
||||
#define SWARM_CONE_LENGTH 10000.0f // used to pick a target point far in the distance
|
||||
#define SWARM_CHANGE_DIR_TIME 400 // time to force change in direction of swarm missile
|
||||
#define SWARM_ANGLE_CHANGE (4*PI/180) // in rad
|
||||
@@ -243,9 +243,9 @@ void swarm_update_direction(object *objp, float frametime)
|
||||
missile_speed = pi->speed;
|
||||
missile_dist = missile_speed * swarmp->change_time/1000.0f;
|
||||
if ( missile_dist < SWARM_DIST_OFFSET ) {
|
||||
missile_dist=i2fl(SWARM_DIST_OFFSET);
|
||||
missile_dist = SWARM_DIST_OFFSET;
|
||||
}
|
||||
swarmp->angle_offset = (float)(asin(SWARM_DIST_OFFSET / missile_dist));
|
||||
swarmp->angle_offset = asinf(SWARM_DIST_OFFSET / missile_dist);
|
||||
Assert(!_isnan(swarmp->angle_offset) );
|
||||
}
|
||||
|
||||
@@ -264,9 +264,9 @@ void swarm_update_direction(object *objp, float frametime)
|
||||
missile_speed = pi->speed;
|
||||
missile_dist = missile_speed * swarmp->change_time/1000.0f;
|
||||
if ( missile_dist < SWARM_DIST_OFFSET ) {
|
||||
missile_dist = i2fl(SWARM_DIST_OFFSET);
|
||||
missile_dist = SWARM_DIST_OFFSET;
|
||||
}
|
||||
swarmp->angle_offset = (float)(asin(SWARM_DIST_OFFSET / missile_dist));
|
||||
swarmp->angle_offset = asinf(SWARM_DIST_OFFSET / missile_dist);
|
||||
Assert(!_isnan(swarmp->angle_offset) );
|
||||
}
|
||||
|
||||
@@ -280,7 +280,7 @@ void swarm_update_direction(object *objp, float frametime)
|
||||
goto swarm_new_target_calced;
|
||||
}
|
||||
|
||||
radius = (float)tan(swarmp->angle_offset) * target_dist;
|
||||
radius = tanf(swarmp->angle_offset) * target_dist;
|
||||
vec3d rvec_component, uvec_component;
|
||||
|
||||
swarmp->change_count++;
|
||||
|
||||
@@ -1615,7 +1615,7 @@ int parse_weapon(int subtype, bool replace, const char *filename)
|
||||
|
||||
if(optional_string("+View Cone:")) {
|
||||
stuff_float(&view_cone_angle);
|
||||
wip->fov = (float)cos((float)(ANG_TO_RAD(view_cone_angle/2.0f)));
|
||||
wip->fov = cosf(fl_radians(view_cone_angle * 0.5f));
|
||||
}
|
||||
|
||||
if (optional_string("+Seeker Strength:"))
|
||||
@@ -1656,7 +1656,7 @@ int parse_weapon(int subtype, bool replace, const char *filename)
|
||||
if(optional_string("+View Cone:")) {
|
||||
float view_cone_angle;
|
||||
stuff_float(&view_cone_angle);
|
||||
wip->fov = (float)cos((float)(ANG_TO_RAD(view_cone_angle/2.0f)));
|
||||
wip->fov = (float)cos(fl_radians(view_cone_angle * 0.5f));
|
||||
}
|
||||
|
||||
if(optional_string("+Min Lock Time:")) { // minimum time (in seconds) to achieve lock
|
||||
|
||||
@@ -61,6 +61,7 @@
|
||||
#include <unistd.h>
|
||||
#include "SDL.h"
|
||||
#include "SDL_thread.h"
|
||||
#include <cmath>
|
||||
|
||||
|
||||
// don't verbose stub funtions unless we're debugging
|
||||
@@ -277,7 +278,7 @@ void strlwr(char *s);
|
||||
char *strnset( char *string, int fill, size_t count);
|
||||
|
||||
// other stuff
|
||||
#define _isnan(f) isnan(f)
|
||||
#define _isnan(f) std::isnan(f)
|
||||
#define _hypot(x, y) hypot(x, y)
|
||||
|
||||
int MulDiv(int number, int numerator, int denominator);
|
||||
|
||||
+7
-8
@@ -470,14 +470,12 @@ D_CFLAGS=$D_CFLAGS" $PNG_CFLAGS"
|
||||
FS2_LIBS=$FS2_LIBS" $PNG_LIBS"
|
||||
|
||||
dnl LUA
|
||||
## Checking for lua.pc and if that fails lua5.1.pc
|
||||
PKG_CHECK_MODULES(
|
||||
[LUA],
|
||||
[lua >= 5.1.3 lua < 5.2],
|
||||
[], ## do nothing special
|
||||
[PKG_CHECK_MODULES([LUA], [lua5.1 >= 5.1.3 lua5.1 < 5.2], [], [
|
||||
PKG_CHECK_MODULES([LUA], [lua-5.1 >= 5.1.3 lua-5.1 < 5.2], [])
|
||||
])])
|
||||
## Checking for lua.pc and if that fails other possible names
|
||||
PKG_CHECK_MODULES([LUA], [lua >= 5.1.3 lua < 5.2], [], [
|
||||
PKG_CHECK_MODULES([LUA], [lua5.1 >= 5.1.3 lua5.1 < 5.2], [], [
|
||||
PKG_CHECK_MODULES([LUA], [lua-5.1 >= 5.1.3 lua-5.1 < 5.2], [], [
|
||||
PKG_CHECK_MODULES([LUA], [lua51 >= 5.1.3 lua51 < 5.2], [])
|
||||
])])])
|
||||
D_CFLAGS=$D_CFLAGS" $LUA_CFLAGS"
|
||||
FS2_LIBS=$FS2_LIBS" $LUA_LIBS"
|
||||
|
||||
@@ -565,3 +563,4 @@ echo Generic build .......... : $fs2_generic_architecture
|
||||
echo ASan enabled ........... : $fs2_asan
|
||||
echo Building wxFred2 ....... : $fs2_fred
|
||||
echo
|
||||
dnl Test change
|
||||
Submodule
+1
Submodule lib/imageloader added at 7f7374d702.
@@ -190,7 +190,7 @@
|
||||
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
</Lib>
|
||||
<Bscmake>
|
||||
<AdditionalOptions>
|
||||
<AdditionalOptions>
|
||||
%(AdditionalOptions)</AdditionalOptions>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<OutputFile>$(IntDir)$(ProjectName).bsc</OutputFile>
|
||||
@@ -234,7 +234,7 @@
|
||||
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
</Lib>
|
||||
<Bscmake>
|
||||
<AdditionalOptions>
|
||||
<AdditionalOptions>
|
||||
%(AdditionalOptions)</AdditionalOptions>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<OutputFile>$(IntDir)$(ProjectName).bsc</OutputFile>
|
||||
@@ -278,7 +278,7 @@
|
||||
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
</Lib>
|
||||
<Bscmake>
|
||||
<AdditionalOptions>
|
||||
<AdditionalOptions>
|
||||
%(AdditionalOptions)</AdditionalOptions>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<OutputFile>$(IntDir)$(ProjectName).bsc</OutputFile>
|
||||
@@ -322,7 +322,7 @@
|
||||
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
</Lib>
|
||||
<Bscmake>
|
||||
<AdditionalOptions>
|
||||
<AdditionalOptions>
|
||||
%(AdditionalOptions)</AdditionalOptions>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<OutputFile>$(IntDir)$(ProjectName).bsc</OutputFile>
|
||||
@@ -1070,21 +1070,21 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="..\..\code\sound\phrases.xml">
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">gc /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"%(RootDir)%(Directory)gc" /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)voicer\%(Filename).cfg;$(IntDir)voicer\grammar.h;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug AVX|Win32'">gc /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug AVX|Win32'">"%(RootDir)%(Directory)gc" /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug AVX|Win32'">$(IntDir)voicer\%(Filename).cfg;$(IntDir)voicer\grammar.h;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug SSE|Win32'">gc /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug SSE|Win32'">"%(RootDir)%(Directory)gc" /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug SSE|Win32'">$(IntDir)voicer\%(Filename).cfg;$(IntDir)voicer\grammar.h;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug SSE2|Win32'">gc /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug SSE2|Win32'">"%(RootDir)%(Directory)gc" /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug SSE2|Win32'">$(IntDir)voicer\%(Filename).cfg;$(IntDir)voicer\grammar.h;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">gc /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"%(RootDir)%(Directory)gc" /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)voicer\%(Filename).cfg;$(IntDir)voicer\grammar.h;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release AVX|Win32'">gc /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release AVX|Win32'">"%(RootDir)%(Directory)gc" /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release AVX|Win32'">$(IntDir)voicer\%(Filename).cfg;$(IntDir)voicer\grammar.h;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release SSE|Win32'">gc /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release SSE|Win32'">"%(RootDir)%(Directory)gc" /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release SSE|Win32'">$(IntDir)voicer\%(Filename).cfg;$(IntDir)voicer\grammar.h;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release SSE2|Win32'">gc /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release SSE2|Win32'">"%(RootDir)%(Directory)gc" /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release SSE2|Win32'">$(IntDir)voicer\%(Filename).cfg;$(IntDir)voicer\grammar.h;%(Outputs)</Outputs>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
|
||||
@@ -1070,21 +1070,21 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="..\..\code\sound\phrases.xml">
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">gc /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"%(RootDir)%(Directory)gc" /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)voicer\%(Filename).cfg;$(IntDir)voicer\grammar.h;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug AVX|Win32'">gc /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug AVX|Win32'">"%(RootDir)%(Directory)gc" /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug AVX|Win32'">$(IntDir)voicer\%(Filename).cfg;$(IntDir)voicer\grammar.h;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug SSE|Win32'">gc /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug SSE|Win32'">"%(RootDir)%(Directory)gc" /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug SSE|Win32'">$(IntDir)voicer\%(Filename).cfg;$(IntDir)voicer\grammar.h;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug SSE2|Win32'">gc /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug SSE2|Win32'">"%(RootDir)%(Directory)gc" /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug SSE2|Win32'">$(IntDir)voicer\%(Filename).cfg;$(IntDir)voicer\grammar.h;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">gc /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"%(RootDir)%(Directory)gc" /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)voicer\%(Filename).cfg;$(IntDir)voicer\grammar.h;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release AVX|Win32'">gc /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release AVX|Win32'">"%(RootDir)%(Directory)gc" /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release AVX|Win32'">$(IntDir)voicer\%(Filename).cfg;$(IntDir)voicer\grammar.h;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release SSE|Win32'">gc /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release SSE|Win32'">"%(RootDir)%(Directory)gc" /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release SSE|Win32'">$(IntDir)voicer\%(Filename).cfg;$(IntDir)voicer\grammar.h;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release SSE2|Win32'">gc /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release SSE2|Win32'">"%(RootDir)%(Directory)gc" /O "$(IntDir)voicer\%(Filename).cfg" /H "$(IntDir)voicer\grammar.h" "%(RootDir)%(Directory)%(Filename)"</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release SSE2|Win32'">$(IntDir)voicer\%(Filename).cfg;$(IntDir)voicer\grammar.h;%(Outputs)</Outputs>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
|
||||
Reference in new issue
Block a user