Daniel Evans
4fd92a1549
Rename rwlib library to "core" to fit its new role
...
Also move up source files into the root directory, as there's nothing else in this directory
2018-08-09 20:28:24 +01:00
Daniel Evans
be2816c398
Merge pull request #572 from danhedron/test_update/IPL
...
Remove data dependency from LoaderIPL tests
2018-08-08 00:34:27 +01:00
Daniel Evans
a0eb668f79
Simplify IPL tests by adding output and comparison operators
2018-08-07 23:15:20 +01:00
Daniel Evans
31f32b2173
Merge pull request #571 from madebr/kerning
...
Add font-dependent kerning
2018-08-07 23:06:12 +01:00
Daniel Evans
457364eca3
Merge pull request #566 from paulkocialkowski/vehicles
...
Various vehicle improvements
2018-08-07 23:05:58 +01:00
Paul Kocialkowski
ff9ccd5f07
rwengine: Set the linear velocity to a zero vector when stopped
...
Vehicles have a tendency to move on their own when they are stopped, due
to their interactions with other surfaces that result in a non-zero
velocity.
Since we have a threshold with the isStopped() method, fix this situation
by setting the linear velocity and wheels rotation (that otherwise also
rotate on their own) to zero vectors.
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
2018-08-07 21:25:30 +02:00
Anonymous Maarten
9cfd9bb21b
tools/rwfont: Add font texture creator
2018-08-07 12:39:59 +02:00
Anonymous Maarten
1bde51a155
cmake: add optional rwtools directory
2018-08-07 12:39:59 +02:00
Anonymous Maarten
99dca06dbc
rwengine: avoid crash of rwviewer/rwgmae when rendering incomplete color string
...
The string "~g" would crash rwviewer.
2018-08-07 12:39:59 +02:00
Anonymous Maarten
f85f6e3391
rwviewer: keep unconvertible characters in the string as they are
2018-08-07 12:39:59 +02:00
Anonymous Maarten
f0c0bd33ef
rwlib: make '~' visible in rwviewer and utf8 strings
2018-08-07 12:39:59 +02:00
Anonymous Maarten
09026ae8b0
rwengine: allow newline in GameString's
2018-08-07 12:39:05 +02:00
Anonymous Maarten
38fca841e7
rwengine: add font-dependent kerning
2018-08-07 12:39:05 +02:00
Daniel Evans
7938f8678f
Add LoaderIPL tests for inst section
2018-08-07 01:18:01 +01:00
Daniel Evans
f95427c136
Merge pull request #540 from ShFil119/remove_FileHandle
...
Remove unneeded FileHandle (aka shared_ptr)
2018-08-07 00:31:19 +01:00
Daniel Evans
2a50194f5b
Change LoaderIPL tests to use test-local data
2018-08-06 23:48:16 +01:00
Daniel Evans
0af9b23fe1
Add stream interface to LoaderIPL and use it in test
2018-08-06 23:37:37 +01:00
Daniel Evans
413df08ea9
Extract zone data tests to be more explicit
2018-08-06 23:25:03 +01:00
Daniel Evans
09a092475e
Test Fixture
2018-08-06 23:02:07 +01:00
Filip Gawin
f3a718611e
Convert data of FileContentsInfo to unique_ptr
...
I've removed copy ctor and copy assign operator.
We use here unique_ptr so copying should not happen.
2018-08-06 23:08:34 +02:00
Daniel Evans
634a3940ac
Merge pull request #570 from danhedron/test_up/IDE
...
Remove data dependency from LoaderIDE test suite
2018-08-06 21:43:46 +01:00
Filip Gawin
27333efd8c
Remove unneed FileHandle (aka shared_ptr)
2018-08-06 22:42:09 +02:00
Daniel Evans
3941dde8d6
Add overload for lexical_cast<T> to select the base of the conversion
2018-08-06 20:45:40 +01:00
Daniel Evans
b68af53c97
Use BOOST_TEST instead of BOOST_CHECK_*
2018-08-06 20:40:43 +01:00
Daniel Evans
0743ac9681
Merge pull request #528 from madebr/fonts
...
Convert utf8 string to GameStrings using current font mapping + add string viewer to rwviewer
2018-08-06 20:25:38 +01:00
Daniel Evans
b14bcc8a12
Rename ObjectDataTests suite to LoaderIDETests
2018-08-06 00:03:32 +01:00
Daniel Evans
fc64c5e87e
Add more object tests and fix a ped info bug
...
The car mask ped info member was being loaded as base 10 instead of base 16
2018-08-05 23:55:20 +01:00
Anonymous Maarten
a15413f997
rwlib+rwengine+rwviewer: address feedback comments
2018-08-06 00:16:33 +02:00
Paul Kocialkowski
295cb25cb0
Improve jump by getting inertia from the previous movement
...
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
2018-08-05 23:08:51 +01:00
Daniel Evans
a8b2b94b05
Extract stream construction into fixture
2018-08-05 22:29:01 +01:00
Daniel Evans
3b7bb14de6
Extract object data assertions to functions
2018-08-05 22:22:13 +01:00
Anonymous Maarten
37fcebee40
rwlib+rwengine: add string conversion independent of font
2018-08-05 23:20:58 +02:00
Daniel Evans
81b7e5226a
Use hard-coded test data in object data tests
...
This removes the dependency on the game data for these tests.
2018-08-05 21:39:43 +01:00
Daniel Evans
19368133b5
Extract IDE loading from file opening
...
This provides a way to parse IDE contents without a real file.
2018-08-05 21:23:36 +01:00
Daniel Evans
01a6ddb2b7
Extract Object Data test setup into fixture
...
The setup between the two tests is the same.
2018-08-05 21:14:18 +01:00
Daniel Evans
989762a66e
Split object tests into individual cases
...
The object data test case contained multiple tests. Split them to increase test granularity and to provide more descriptive unit names.
2018-08-05 21:11:22 +01:00
Filip Gawin
491e5303d0
Replace std::ptr_fun with lambda
...
It is deprecated in c++11,
and remove in c++17.
2018-08-04 23:16:04 +01:00
Filip Gawin
4baeeb9ae8
Replace raw ptr with unique_ptr in CollisionInstance
2018-08-04 14:22:10 +01:00
Anonymous Maarten
6d4b69b742
rwviewer: view stored texts + fonts
2018-08-04 01:17:13 +02:00
Anonymous Maarten
ee455bb157
rwviewer: select rows in object viewer
2018-08-04 01:17:13 +02:00
Anonymous Maarten
640af372ba
rwengine+rwgame: convert utf8 to GameString depending on used font
2018-08-04 01:17:13 +02:00
Anonymous Maarten
12afe81a35
rwengine: spelling fix: 'Alignemnt'
2018-08-04 01:11:47 +02:00
Anonymous Maarten
2ad9667b50
rwengine: add per-font mapping + unicode support + tests
2018-08-04 01:11:47 +02:00
Daniel Evans
74a4398e69
Merge pull request #559 from ShFil119/casting
...
Remove old style casts
2018-08-03 23:47:00 +01:00
Anonymous Maarten
cdef8b935e
ci: echo APPVEYOR_REPO_COMMIT and COMMIT_HASH + do not exit on mismatch
2018-08-03 19:39:08 +01:00
Filip Gawin
24b47a53f3
Remove unwanted memory leak in script
2018-08-02 21:39:36 +01:00
Paul Kocialkowski
17b6c13a6a
rwgame: Adapt the friction slip based on handling data to ease steering
...
A constant friction slip for all vehicles does not seem to work very
well and most are rather hard to steer with. This introduces a somewhat
empirical formula to get a rather sane friction slip value based on
handling data, where coefficients are used in a way compatible with the
required friction slip value for most vehicles.
This is by far not a perfect approach and the steering on some vehicles
still feels out of line with the realistic expected behaviour, but most
remain fairly drivable.
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
2018-08-02 21:37:44 +02:00
Paul Kocialkowski
e3e8b3acb9
rwengine: Reduce vehicle roll influence to avoid easily flipping wheels
...
The current roll influence value makes it much too easy to flip vehicles
upside down. More generally, the vehicles tend to not stick to the ground
enough as they are too easily moved around when hit with another vehicle.
Reduce the roll influence value for vehicles to make them stick more to
the ground.
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
2018-08-02 21:37:44 +02:00
Paul Kocialkowski
20ac5b2a39
rwengine: Slow down engine force when the vehicle is braking
...
This introduces a linear reduction of the engine force when braking is
applied. The division factor increases with the steering angle to
max steering angle ratio, reducing the engine force by a factor of
up to 1.25.
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
2018-08-02 21:37:44 +02:00
Paul Kocialkowski
77b3df037e
rwengine: Adapt the nominal engine force for our physics
...
This introduces a coefficient to adapt the nominal engine force to our
physics and ensure that top speed is not reached too fast.
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
2018-08-02 21:37:44 +02:00