Commit graph

1102 commits

Author SHA1 Message Date
53904d8e2c Merge pull request 'raceman: Remove fixed driver lists' (#10) from driver-lists into main
Reviewed-on: #10
2025-01-19 07:27:35 +01:00
4af7c4d6f0
raceman: Remove fixed driver lists
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.
2025-01-19 07:25:56 +01:00
61d8064e58 Merge pull request 'CMakeLists.txt: Remove comment' (#7) from rm into main
Reviewed-on: #7
2025-01-16 06:34:57 +01:00
d9c38af8d5
CMakeLists.txt: Remove comment
It provides little information given how small the build system for this
repository is.
2025-01-16 06:34:02 +01:00
f0e8573f0e Merge pull request 'cmake: Set package version' (#6) from describe-version into main
Reviewed-on: #6
2025-01-16 06:31:35 +01:00
6df1cd175b
cmake: Set package version
This commit suggests to follow the same version and naming conventions
as in the code repository.
2025-01-16 06:23:14 +01:00
9749171cef Merge pull request 'speed-dreams-data.cmake.in: Introduce SD_DATADIR_INSTALL_PREFIX' (#5) from install-prefix into main
Reviewed-on: #5
2025-01-15 06:27:41 +01:00
e2abda11a1
speed-dreams-data.cmake.in: Introduce SD_DATADIR_INSTALL_PREFIX
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.
2025-01-15 06:25:12 +01:00
1d84fdcdf7
CMakeLists.txt: Use relative paths for DESTINATION
According to the documentation, it is not recommended to use absolute
paths as DESTINATION. [1] Because of this, CPack was failing to package
NSIS-based installers.

INSTALL_DESTINATION can be an absolute path, but it does not provide any
value since CMAKE_INSTALL_PREFIX is assumed as the default
INSTALL_PREFIX. [2]

[1]: https://cmake.org/cmake/help/latest/command/install.html
[2]: https://cmake.org/cmake/help/latest/module/CMakePackageConfigHelpers.html
2025-01-14 02:47:18 +01:00
922272e430
shaders: Require GLSL >= 1.1.0 instead of >= 3.3.0
Both car.frag and water.frag only use functions and data types already
introduced by GLSL 1.1.0. [1] Therefore, reducing the minimum required
GLSL version also allows to reduce the minimum required OpenGL version
from 3.3 to 2.1, thus maximizing compatibility against older hardware.
[2]

[1]: https://www.khronos.org/registry/OpenGL/specs/gl/GLSLangSpec.1.10.pdf
[2]: https://en.wikipedia.org/wiki/OpenGL#Version_history
2025-01-14 02:47:18 +01:00
c6b10bd9c6
CMakeLists.txt: Reduce project version to 2.3.0
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`.
2025-01-14 02:47:17 +01:00
69cb5d5a6c
Introduce CPack-based packaging 2025-01-14 02:47:17 +01:00
4984f32c73
Add LICENSE 2025-01-14 02:47:17 +01:00
99a7529850
config: Always use "config" weather
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.
2025-01-14 02:47:17 +01:00
1073660c13
data/user-files: Install networkhuman.xml and human.xml
This was a leftover caused by the CMake refactoring.
2025-01-14 02:47:17 +01:00
7a2047c2f0
Move user-files to data/
All files listed by user-files are in fact referrenced from the data/
directory. Therefore, moving it to data/ makes sense to keep
consistency.
2025-01-14 02:47:17 +01:00
e1f2d65ac4
speed-dreams-data.cmake.in: Set SD_DATADIR_ABS
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.
2025-01-14 02:47:17 +01:00
5d5bc88e57
Add user-files
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.
2025-01-14 02:47:17 +01:00
0a33242611
Refactor all CMakeLists.txt
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
2025-01-14 02:47:16 +01:00
e45cdd7fd9
Add README.md 2025-01-14 02:47:16 +01:00
41e3807813
Add .gitignore 2025-01-14 02:32:51 +01:00
600747fe5d urbanski/CMakeLists.txt: Refactor 2024-12-25 08:06:45 +01:00
370b76edbf dandroid: Simplify driver track/car parameters
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.
2024-12-25 08:06:42 +01:00
4d2954ff52 data/drivers: Move simplix_<category> to simplix 2024-12-25 08:06:42 +01:00
a7eb3ec83f data/drivers: Move shadow_<category> to shadow 2024-12-25 08:06:42 +01:00
30da7b34c0 drivers: move usr_* configs to usr/ 2024-12-25 08:06:41 +01:00
8a64011b08 data/drivers/CMakeLists.txt: Reduce to robot name
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).
2024-12-25 07:38:02 +01:00
64e6331e4c Remove career mode
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.
2024-12-25 07:38:02 +01:00
3be03e266e driverselect: Implement driver generation
Now, drivers from any category, robot type or car model can be generated
or deleted from the driver selection menu.
2024-12-25 07:37:59 +01:00
62be11902f TA50.xml: Fix wrong category id
Otherwise, the game would be unable to find any cars and, therefore, any
drivers.
2024-12-25 07:37:58 +01:00
harunasan
9510d7e2fc MPA12 Category: New aerodynamics package with greatly reduced front downforce, shifting the balance backwards, allowing for a more realistic weight distribution. Added SimuV5 tire parameters and rebalanced tire compound performance.
Parameter changes:
DECKARD - +7 BHP, 44/56 F/R WEIGHT DIST
MURASAMA - FUEL CONS FACTOR 1.8 -> 1.7, 43/57 WEIGHT DIST
SPIRIT - same HP, 44/56 F/R WEIGHT DIST

git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@9648 30fe4595-0a0c-4342-8851-515496e4dcbd
2024-12-25 00:46:37 +00:00
harunasan
7010d13850 Drivers/CMakeLists.txt: Remove nonexistent GTC and MPE drivers.
git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@9646 30fe4595-0a0c-4342-8851-515496e4dcbd
2024-12-16 07:07:18 +00:00
harunasan
25f48ae73c LS-GT2: Improved default setups and expanded USR bot driver roster to include Sprite GTS. Replace USR_LS2 driver index IDs 14 and 15 with own original characters.
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
2024-12-16 04:32:09 +00:00
harunasan
f5424c2303 Updated SoundCredits.txt with sound sources from [r9635]
git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@9641 30fe4595-0a0c-4342-8851-515496e4dcbd
2024-12-14 23:57:16 +00:00
harunasan
2ca5fb7508 Supercars category: new physics parameters using SimuV5 additions (tire cooling, drain rate, axis based heating).
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
2024-12-06 05:42:54 +00:00
harunasan
55ce02b2bf Sounds and Sound Interfaces: Added snow surface sound samples on tracks with snow and ice. Add sound sample and changes to sound interfaces for tire "scrubbing", for better audio feedback about vehicle grip.
git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@9635 30fe4595-0a0c-4342-8851-515496e4dcbd
2024-12-01 02:29:47 +00:00
harunasan
b2af08750d Sounds: Added tuned Rotary-2, V6, V8, V10, and V12 samples, plus sound credits.
git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@9632 30fe4595-0a0c-4342-8851-515496e4dcbd
2024-11-29 16:10:03 +00:00
xavi92
3f11ef0eab csraceselectmenu.xml: Fix typo
git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@9617 30fe4595-0a0c-4342-8851-515496e4dcbd
2024-11-23 11:20:06 +00:00
xavi92
2b8ec048fd fonts/CMakeLists.txt: Set LIST_DIRECTORIES to false
According to the documentation [1]:

    New in version 3.3: By default GLOB lists directories.

This causes SD_INSTALL_FILES to fail since it might pass a directory
(e.g.: .svn) to install(FILES), which rejects directories [2].

Notes: CMake recommends not to rely on GLOB expressions for several
reasons [1]. Future commits should refactor this logic so as to avoid
them.

[1]: https://cmake.org/cmake/help/latest/command/file.html#glob
[2]: https://cmake.org/cmake/help/latest/command/install.html#files


git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@9604 30fe4595-0a0c-4342-8851-515496e4dcbd
2024-10-27 08:07:52 +00:00
xavi92
4631acc901 Remove $Id leftovers
git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@9555 30fe4595-0a0c-4342-8851-515496e4dcbd
2024-10-06 06:21:25 +00:00
xavi92
2ec104e831 Remove svn:keywords property from the repository
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
2024-10-02 15:30:18 +00:00
xavi92
bf5986b22d Remove $Id$
This SVN-specific keyword [1] did not expand as expected on Git
repositories migrated from SVN via git-svn(1) [2]. Because of this,
applying patches with modifications would sometimes fail because, even
if these lines were not modified, they could be part of the context
lines, thus heavily confusing Git.

Since it is already expected to migrate from SVN to Git sometime soon,
this would also make $Id$ redundant.

[1]: https://svnbook.red-bean.com/en/1.7/svn.advanced.props.special.keywords.html
[2]: https://git-scm.com/docs/git-svn


git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@9550 30fe4595-0a0c-4342-8851-515496e4dcbd
2024-09-30 05:17:15 +00:00
beaglejoe
bbf09b70c7 Update credits page
git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@9527 30fe4595-0a0c-4342-8851-515496e4dcbd
2024-08-08 17:39:47 +00:00
xavi92
a239054540 Remove trailing newlines
The following shell script was used:

while read f
do
	sed -i -e :a -e '/^\n*$/{$d;N;};/\n$/ba' -- "$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@9509 30fe4595-0a0c-4342-8851-515496e4dcbd
2024-07-30 22:17:48 +00:00
xavi92
1eac7f27ce Convert all files with dos2unix
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
2024-07-30 22:04:12 +00:00
xavi92
b9b1bb6647 String trailing whitespaces
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
2024-07-30 21:45:07 +00:00
xavi92
feb02ad5cc displayconfigmenu.xml: Add missing static label
git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@9492 30fe4595-0a0c-4342-8851-515496e4dcbd
2024-07-17 22:27:21 +00:00
xavi92
c971cb63e7 Implement in-game download manager
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
2024-07-15 03:27:16 +00:00
xavi92
688288563e Implement maximum frame rate limit
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
2024-07-15 02:52:31 +00:00
iobyte
b809455db2 fix libpng interlace warning by removing interlace for concrete.png
git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@9425 30fe4595-0a0c-4342-8851-515496e4dcbd
2024-06-07 22:21:56 +00:00