Commit Graph

32 Commits

Author SHA1 Message Date
ζeh Matt e4ac1f9e3c
Add EverythingPark ride ratings to the tests 2023-06-09 17:30:07 +03:00
ζeh Matt befb72b826
Add the Everything Park created by Marcel Vos to the test parks 2023-06-09 16:53:27 +03:00
kyphii 6f55454ae8
Add ratings modifier for reversed trains (#20091)
* Add ratings modifier for reversed trains

* Add test save file and ratings for this

* Changelog entry

* Bump network version

* Modify changelog

* Changelog edit

---------

Co-authored-by: Trevor Finney <8711258+finneyt@users.noreply.github.com>
2023-05-06 02:40:41 +03:00
ζeh Matt c6c29dbf64
Add BigTestMap to ride rating tests 2023-04-26 17:48:38 +03:00
Michael Steenbeek 812ea151bb
Fix duplicate RGB colours in palette (#18299)
* Remove duplicate RGB colours from palette

* Update hash

* Update reference dat file

---------

Co-authored-by: Spacek531 <spacek531@comcast.net>
Co-authored-by: duncanspumpkin <duncans_pumpkin@hotmail.co.uk>
2023-04-16 15:15:26 +01:00
ZeeMajora 234c125a73
Attempt to fix ratings test 2022-09-27 15:45:18 -04:00
Michael Steenbeek 70121eae38
Close #14484: Make the Heartline Twister ratings less hateful (#16680)
This raises two parameters: the base excitement value (which is very low, especially since the air-time bonus is limited too) and the bonus value (the novelty of this ride type warrants a bigger value).
It leaves the rest of the poor bonuses as-is, as some of them (like scenery and synchronisation bonuses) might just be there because the track obscures the view.
2022-02-23 11:24:02 +01:00
Michael Steenbeek e6e0b31397
Fix #15899: Odd ratings bonus for path 0 (#15905) 2021-11-13 12:28:42 +01:00
duncanspumpkin d4381ffeea Update ride rating test data 2021-06-27 09:36:55 +01:00
csunday95 51faec5c50
Close #13637: Refactor sprite compiler for filesystem efficiency
- sprite building would save a file with just the sprite file header
   and then immediately open it again at the beginning of compilation
 - sprite file generation is now entirely in memory until the final
   output file is saved on success
 - added validation of no file activity in the failed build test case;
   failed builds will not generate a file or edit an existing one
2020-12-29 13:12:55 +01:00
Simon J d3d5cfbdc4
Add test for #12728: map edge footpath connections in scenario editor (#12736)
Co-authored-by: Simon Jarrett <simonjjarrett@gmail.com>
2020-08-20 20:32:23 +02:00
Gymnasiast cf664c8340
Close #11971: Replace ride groups with new ride types 2020-07-17 00:19:49 +02:00
Ted John 06f1b58004 Add test case for DecryptSea 2020-07-11 11:40:34 +01:00
Breno Rodrigues Guimarães ab53ddf59f Avoid fast-forwarding peep into the ride
The code being removed in the patch tries to fast forward a peep into the ride when it is the second peep for a vehicle that is used in pairs. Problem is that funds checking does not happen, so it happens that a peep may pay against its will.
Lets say a rich peep enters in line and a poor peep enters in line right after.
If the price of the ride is such that the rich peep can pay and the poor peep can't, it will be dragged into the ride because funds checking only happened for the first.
The second part of the patch just adjusts we consider the vehicle a full car if the second position is filled.

Add test to verify that a peep is not dragged into a ride it can't pay

This test puts two peeps in a Ferris Wheel. The first peep is rich and the second peep is poor. When they are both in line, the ride price is raised so that the poor peep can't pay.
Make sure the poor peep turns back and leaves the ride.

During development, a mistake in the logic would have broken all rides other than ferris wheels in a way that multiple guests could enter the same car.
Also add a test to make sure that is never broken.
2020-04-25 18:27:33 -03:00
Matt 6177255991
Add S6 Import/Export test and remove old NetworkLoadSave test 2019-10-20 13:49:35 +02:00
Matt 17918d2f6b
Remove replays 2019-07-14 16:45:55 +02:00
Matt c631177877 [ci skip] Add bpb.sv6 to the replays with 7000 ticks. 2019-02-16 09:09:51 +01:00
Tom Lankhorst 756b52186e
Normalised and upgraded all replays 2019-02-06 10:24:10 +01:00
Matt b01c93ba4c Normalise replays. 2019-01-07 09:04:51 +01:00
Richard Fine bb4e79ddda Rework tests to use ride entrances as path targets
It turns out that trying to just give a peep a pathfinding goal and then let them loose doesn't work, because every time they reach a junction, the pathfinder has them walk 'aimlessly' instead of pursuing their target. That's why we were seeing some very large step counts in previous tests - they were (eventually) walking onto the target square, but only after lots of wandering around in circles.

This commit reworks the test data to contain an actual ride for each test scenario, where the peep will path to the tile in front of the ride entrance. A nice side benefit of this is that the ride names must match the test names, so you can now tell from looking at the rides in the test data which one is used for which test instance.

The 'yellow marker' tiles for goal positions are also removed here, as we're deriving goal positions from the ride entrances instead.
2019-01-02 14:12:51 +00:00
Richard Fine 8fb81a2d89 Initial data-driven tests for pathfinder behaviour
Introduce some basic scenario-style tests for the pathfinding AI. There
are two tests:

* Test that a peep can get from a given start position to a given end
  position, and that it takes them an expected number of ticks to do so.
  Also test that they did not walk on any 'forbidden' tiles in the process,
  e.g. tiles that are completely the wrong direction from the goal etc.

* Test that a peep can *not* get from a given start position to a given
  end position after a given number of ticks.

Each test is parametric, and instantiated for multiple different
start/end positions within the provided test park. If we find a new
situation that needs a test, it should just be a matter of building
that situation in the saved game and then adding a line to the code to
set it up.

Indicating 'forbidden' tiles is done using terrain surface type IDs:
tiles that the pathfinder should never send the peep into should be
painted with the red neon surface type (index 8). This means we have
no way to forbid some path elements on a tile while allowing others,
but we don't need that right now.

Similarly, to help ensure that the test data and code are kept in
sync, the tests also require that peep start tiles are painted with
the green neon surface type (index 11) and that goal tiles are
painted with the yellow neon surface type (index 9).
2019-01-02 14:12:08 +00:00
Matt 045e72e863 Add more replays to test. 2019-01-02 08:30:33 +01:00
Matt 8615690891 Fix timestamp not being stored. 2019-01-02 05:36:31 +01:00
Matt f868c23077 Update replay. 2018-12-30 00:07:39 +01:00
Matt 871a24c410 Rename replay file. 2018-12-29 19:23:28 +01:00
Matt 017f190a52 Add basic regression tests via the replay system. 2018-12-29 19:23:27 +01:00
Ted John 65f0fbdf78 Add test data for crypt tests 2018-06-01 21:27:34 +01:00
Ted John 44764874a3 Add test for ImageImporter 2018-05-13 01:11:56 +01:00
Hielke Morsink f661d48d90 Add tests for tile_element_wants_path_connection_towards 2018-04-17 20:43:49 +02:00
Michael Steenbeek 171271215e Change some ride type names for clarity, fix Americanism 2017-12-08 07:59:44 +01:00
Michael Steenbeek 0ffa2b541a Use more consistent terminology and remove some Americanisms 2017-12-05 10:23:36 +01:00
Ted John f2524c07b3 Add rating test data 2017-06-04 00:47:34 +01:00