Drivers can be generated by users, driver indexes are re-computed on
startup and no drivers are provided on a fresh installation, so it is no
longer possible to set up a fixed list of drivers on each championship
type.
Exceptionally, in-tree builds (i.e., when speed-dreams-data is used as a
submodule) cause SD_DATADIR_ABS to not match SD_DATADIR_INSTALL_PREFIX,
since the game must look up inside the source instead of the
installation prefix.
In order to maintain consistency across configurations,
SD_DATADIR_INSTALL_PREFIX must be also defined for builds where an
installed version of speed-dreams-data is used.
Until 2.4.0 is released, the project version should stay at 2.3.0.
Otherwise, the project version would mismatch with that obtained via
`git describe --tags --dirty`.
Otherwise, users are exposed to unsolicited connections to
ftp://tgftp.nws.noaa.gov/data/observations/metar/stations/ by default
because "real" weather is selected, which might be perceived as a
privacy threat.
Relative paths (typically, `share/games/speed-dreams-2`) should be
looked up before absolute paths, since the install prefix for Windows
and macOS builds is decided by the end user, and not the build system.
This is meant to replace the dynamic generation of a version control
file called version.xml, as well as the xmlversion command line tool,
wth a static, line-separated list of files that the engine can use to
parse the version numbers.
This commit removes the dependency against custom macros, in favour of
standard CMake commands, as well as removing the use of glob expressions
since they are assumed as deprecated. [1]
[1]: https://cmake.org/cmake/help/latest/command/file.html#glob
Most of dandroid's private parameters are shared among cars and even
entire categories, and only a small fraction of such parameters are ever
changed.
Therefore, this commit suggests sane defaults so as to remove all
redundant parameters in order to greatly simplify dandroid-based driver
parameters. Also, it adds the possibility to set per-category
parameters.
Since now robot clones have been removed, similarly drivers are not
looked up based on the clone shared library name (e.g.: dandroid_mpa),
but the robot implementation (e.g.: dandroid).
Career mode was meant as an alternative championship mode with
dynamically generated drivers, but it is now redundant since dynamically
generated drivers are available to all racing modes.
Balance of Performance changes:
Boxer 96 RSR, 445 HP -> 455 HP, redline RPM 8500 -> 8750
Cavallo 360-R, 1230 KG -> 1210 KG
Condor C400R, 1220 KG -> 1170 KG
Morley R900, 1270 KG -> 1220 KG
Sprite GTS, shorter final drive ratio 3.27 -> 3.50
LS-GT1: Added new setups for USR bots when racing at KARWADA. Added race line margins for CORKSCREW and KARWADA. These margins are also present for the GT2s.
git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@9643 30fe4595-0a0c-4342-8851-515496e4dcbd
Reworked setup for sc-deckard-conejo, based on research on suspension geometry, wheel sizes, and improved torque curve. More oversteering balance at low to medium speeds.
git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@9637 30fe4595-0a0c-4342-8851-515496e4dcbd
These properties are not transmitted with git-svn(1) [1], which might
then cause failed patches when modifying lines close to these
properties.
git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@9554 30fe4595-0a0c-4342-8851-515496e4dcbd
Some files were written with UTF-8 with BOM encoding. Now, all files
should be UTF-8 only.
The following shell script was used:
while read f
do
dos2unix -- "$f"
done <<EOF
$(svn ls -R | grep \
-e '.\cpp$' \
-e '\.cmake$' \
-e '\.txt$' \
-e '\.cppcheck$' \
-e '\.frag$' \
-e '\.h$' \
-e '\.hpp$' \
-e '\.vert$' \
-e '\.xml$' \
-e '\.java$' \
-e '\.c$')
EOF
git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@9508 30fe4595-0a0c-4342-8851-515496e4dcbd
The following shell script was used:
while read f
do
sed -Ei 's/[[:space:]]+$//g' "$f"
done <<EOF
$(svn ls -R | grep \
-e '.\cpp$' \
-e '\.cmake$' \
-e '\.txt$' \
-e '\.cppcheck$' \
-e '\.frag$' \
-e '\.h$' \
-e '\.hpp$' \
-e '\.vert$' \
-e '\.xml$' \
-e '\.java$' \
-e '\.c$')
EOF
As a side effect, this has also converted some files from CRLF line
endings to LF.
File extensions such as .ac or .osg were intentionally left out because
those usually are very large files generated by tools.
git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@9507 30fe4595-0a0c-4342-8851-515496e4dcbd
This in-game download manager allows users to fetch assets, such as
cars, tracks or drivers, from a configurable list of servers following a
specific JSON schema.
Several smaller classes have been designed to assist the download
manager:
- entry: defines an entry in the assets lists and its state.
- thumbnail: defines a visible entry on the list, will always match
one entry.
- writebuf: allows dumping a file downloaded over HTTP{S} to memory.
- writefile: allows dumping a file downloaded over HTTP{S} to a file.
- unzip: a higher-level, C++ wrapper to minizip.
It was also required to implement a function that removed directories
recursively, namely rmdir_r. Since this is not portable accross POSIX
and Windows systems, their respective implementations have been provided
on src/libs/portability.
The following dependencies have been added:
- libcurl: HTTP{S} operations, already required by webserver.
- OpenSSL: hash calculation.
- minizip: zip extraction, it required its on Findminizip.cmake as it is
not provided by upstream CMake.
- zlib: required by minizip.
git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@9490 30fe4595-0a0c-4342-8851-515496e4dcbd
This new configuration can be adjusted from the display configuration
screen and allows to cap maximum fps so that CPU load is greatly
reduced, especially on menu screens.
git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@9484 30fe4595-0a0c-4342-8851-515496e4dcbd