Commit Graph

439 Commits

Author SHA1 Message Date
Ted John b149c1c4ca Add unit tests for SHA1 hashing 2018-06-01 21:27:33 +01:00
Ted John 92f6ac7333 Rename header files to match renamed source files 2018-06-01 09:38:30 +02:00
Michał Janiszewski ce3b210e6b Fix testpaint build 2018-06-01 09:37:49 +02:00
Ted John 9d617958cf Return date and park by reference from game state 2018-05-30 13:12:19 +01:00
Michał Janiszewski afdcd35fb9 Fix MultiLaunch test. 2018-05-30 11:53:32 +02:00
Ted John 6af0cb2b88 Fix import of S4 and S6 2018-05-29 18:39:12 +01:00
Michael Steenbeek 8d8820016c Fix Testpaint 2018-05-24 13:13:51 +02:00
Aaron van Geffen b836ad050d Rewrite CodePageFromUTF8 as CodePageFromUnicode. 2018-05-22 19:51:34 +02:00
Aaron van Geffen 6f9226aee3 Fix testpaint. 2018-05-22 17:37:07 +02:00
Ted John 71a2cb46d2 Fix ToUpper tests on Windows
LCMapStringEx does not unfold ligatures if there is no uppercase equivalent.
2018-05-22 17:37:07 +02:00
Aaron van Geffen bf1fd997d0 Do not require ICU on MinGW and MSVC targets. 2018-05-22 17:37:07 +02:00
Aaron van Geffen 4c67c0eaca Split ToUpper tests into more granular subtests. 2018-05-22 17:37:07 +02:00
Fusxfaranto a91dd6a356 Implement ICU support for uppercasing, with tests. 2018-05-22 17:37:07 +02:00
Aaron van Geffen ee8bf9bd4a Use ICU for converting strings to UTF-8 instead of our own tables.
Co-authored-by: Fusxfaranto <fusxfaranto@gmail.com>
2018-05-22 17:37:07 +02:00
ζeh Matt ee56021067 Minor code cleanup. (#7538) 2018-05-18 22:50:57 +02:00
Aaron van Geffen 19442eb6c2
Merge pull request #7510 from Broxzier/feature/horizontal-clipping
Horizontal Clipping
2018-05-15 14:55:05 +02:00
Hielke Morsink 7f4663ffb8 Fix test-paint build 2018-05-15 12:55:29 +02:00
Ted John 44764874a3 Add test for ImageImporter 2018-05-13 01:11:56 +01:00
Ted John ad6ebd646c Remove work around in TileElement test fixture 2018-05-11 20:39:00 +01:00
Michał Janiszewski 090c444353 Destroy context in TileElementWantsFootpathConnection::TearDownTestCase
Not destroying the context might upset some compilers due to the order
of destruction of variables the context might still require.
2018-05-11 20:37:48 +01:00
Ted John 7dc170ef85 Use shared_ptr for long-life objects
Use unique_ptr and shared_ptr for IContext, IPlatformEnvironment, IUiContext, and IAudioContext.
2018-05-11 20:37:48 +01:00
Michael Steenbeek ffa73981ac Copy CoordsDirectionDelta to Testpaint 2018-05-05 11:42:49 +01:00
Michael Steenbeek eb0a73cf96 Fix TileDirectionDelta definition in TestPaint 2018-05-05 11:42:48 +01:00
Hielke Morsink 8d10bfb5a1 Add namespace closing comments 2018-05-04 22:54:43 +02:00
Michael Steenbeek 5f9d40be7a
Replace tile_element_get_type() with struct method 2018-05-02 19:27:04 +02:00
Michael Steenbeek ef433df26a Clean up tile element usage, introduce struct methods 2018-05-02 11:58:12 +02:00
Gymnasiast fd4df87a8d Fix TestPaint 2018-05-01 20:38:57 +02:00
Michał Janiszewski 9caa30f846 Fix TestPaint target
Adds missing files to target
2018-04-28 02:38:07 +02:00
Ted John 42f46d15e3
Merge pull request #7414 from OpenRCT2/refactor/string-conversions
Refactor string conversion between RCT2 and UTF8
2018-04-25 10:14:39 +01:00
Hielke Morsink 30063984e6
Delete unused function arguments or mark them so (#7426)
This aims to make future refactoring easier. The arguments are removed where possible, but kept and marked with C++17's [[maybe_unused]] where they could not be removed (e.g. when they are used as a callback, rather than called directly).

I've skipped the rides/<category>/* and peep/* source files, because the rides source files are mostly generated and have a ton of unused variables, and the peep source files are being refactored.
I've also skipped most of window/* source files, because most of the functions are used as callbacks and will be bulk-renamed at some point.
2018-04-20 13:56:37 +02:00
Ted John 6d76d76f98 Protect against bad RCT2 strings 2018-04-19 22:36:14 +01:00
Ted John a4ee512378 Fix test data in Localisation tests 2018-04-18 13:16:20 +02:00
Ted John 1226402d6e Enable localisation tests for cmake 2018-04-18 13:16:20 +02:00
Ted John e7fb20c283 Add tests for rct2 <-> utf8 conversions 2018-04-18 13:16:20 +02:00
Ted John 100b9cbba2 Add tests for String::Convert 2018-04-18 13:16:20 +02:00
Michał Janiszewski 4d7d7500a1 Fix CMake for test_tile_elements 2018-04-17 20:43:49 +02:00
Hielke Morsink f661d48d90 Add tests for tile_element_wants_path_connection_towards 2018-04-17 20:43:49 +02:00
Michał Janiszewski 22c755f820 Fix tests on travis 2018-04-12 22:06:42 +02:00
Ted John 58306e8055 Set tests output directory to bin
This is the easiest way to allow the tests to use the OpenRCT2 data for msbuild.
2018-04-10 18:00:02 +01:00
Ted John 9a10de7442 Enable integration tests on CI 2018-04-10 13:28:26 +01:00
Ted John fe3c136083 Set no graphics for integration tests 2018-04-10 13:19:48 +01:00
Michał Janiszewski 67f74119cf Fix missing headers 2018-03-20 00:27:58 +01:00
Michał Janiszewski f1ab13f56e Fix sorting and missed floor() usage 2018-03-18 23:29:13 +01:00
Michał Janiszewski 28391eaf5d Move cstring out of common.h 2018-03-18 23:29:13 +01:00
Michał Janiszewski f3bdc431e1 Add lost headers 2018-03-18 23:29:13 +01:00
Michał Janiszewski 764520076f
Reduce header inclusion
* Update includes in PlatformEnvironment.cpp

* Update includes in ParkImporter.h

* Update includes of OpenRCT2.h

* Update includes in Intro.h

* Remove unused include from Input.cpp

* Update includes of Imaging.h

* Update includes in Game.h

* Update includes in Editor.h

* Update includes of Context.cpp

* Update includes in Cheats.cpp, CmdlineSprite.cpp

* Update includes of some source files

* Update includes in some cpp files

* Update includes in some cpp files

* Update includes in TextureCache.h

* Fix tests

* Update includes in Font.cpp

* Update includes in LightFX files

* Update some includes

* Fix GCC builds

* Update some includes

* Update some includes

* Update includes in FontsFamilies.*

* Update includes of Console.h

* Improve includes in Window.h

* Improve headers in Viewport.h/Window.h

* Fix MSVC build

* Fix network-less builds

* Reduce inclusion of Map.h
2018-03-13 13:14:02 +01:00
Michael Steenbeek 1fa2fa8f80
Refactor ride->entrances and ride->exits 2018-03-07 19:10:50 +01:00
Aaron van Geffen c1784b21cc Pass currentRotation to gPaintSession in TestPaint. 2018-02-17 13:11:07 +01:00
Michał Janiszewski 28a91acbfe TestPaint fixes 2018-02-17 13:11:07 +01:00
Michael Steenbeek bde913ee16 Rename SmallCoords and BigCoords 2018-02-15 22:26:50 +01:00
Michael Steenbeek ca5a1e1f34 Testpaint and MSVC fixes 2018-02-15 22:26:50 +01:00
Hielke Morsink 55979a3fff Remove and replace C typedefs
`typedef struct/union/enum name { ... } name_again;` is not needed whe compiling C++, moving the name at the back to be in front of the object and removing `typedef` makes it usable the very same way.
This also replaces typedefs with the using keyword. They have better readability, especially for function pointer types, and would allow more flexibility when used with templates.
2018-02-14 09:42:26 +01:00
Michał Janiszewski c672e6098c Fix testpaint 2018-02-12 16:03:20 +01:00
Michał Janiszewski 3f76bd214f Const all the painted tile elements
Extracted from https://github.com/OpenRCT2/OpenRCT2/pull/7036
2018-02-12 16:03:20 +01:00
Gymnasiast 36bc1f816c Clean up C bits from Testpaint 2018-02-01 13:42:46 +01:00
Gymnasiast 5cc21fd21b Replace NULL with nullptr in C++ files 2018-01-29 21:33:21 +00:00
Michał Janiszewski c8048df5a6 Rename header files for testpaint 2018-01-11 16:29:52 +01:00
Michael Steenbeek 9a3e85f4f9 Fix Xcode 2018-01-11 16:29:52 +01:00
Michał Janiszewski f817bf8483 Rename hook.c to Hook.cpp 2018-01-11 16:29:52 +01:00
Michał Janiszewski a2aa8a0fb0 Rename compat.c to Compat.cpp 2018-01-11 16:29:52 +01:00
Michał Janiszewski 13ab77fe30 Rename addresses.c to Addresses.cpp 2018-01-11 16:29:52 +01:00
Michał Janiszewski 6951bf11f2 Rename data.c to Data.cpp 2018-01-11 16:29:52 +01:00
Michael Steenbeek cd5a1ba888 Compile files in world folder as C++ 2018-01-11 13:25:09 +01:00
Michał Janiszewski 5e72d7423a Update testpaint 2018-01-11 09:30:09 +01:00
Michał Janiszewski eba2119a81 Update testpaint 2018-01-11 09:30:09 +01:00
Michał Janiszewski 70505f4fa0 Refactor track_paint to C++ 2018-01-11 09:30:09 +01:00
Michał Janiszewski 82dfde4419 Refactor ride_data to C++ 2018-01-11 09:30:09 +01:00
Michael Steenbeek 6a88d6e04d Move and rename RCT{1,2,12}.h 2018-01-09 13:36:41 +01:00
Ted John f18595a1c1 Refactor viewport.c to C++ 2018-01-07 12:39:58 +01:00
Ted John 630a5065db Refactor colour.c to C++ 2018-01-07 12:39:58 +01:00
Michael Steenbeek 755add6c9a
Compile localisation folder as C++ 2018-01-06 18:32:25 +01:00
Ted John 3dcbebcf68 Refactor drawing.c to C++ 2018-01-05 22:57:57 +01:00
Michał Janiszewski c7417e11a4 Use `bool` type for boolean logic 2018-01-04 15:40:52 +01:00
Michael Steenbeek 91589f57c6 Compile map.c as C++ 2018-01-03 20:40:51 +01:00
Hielke Morsink eb4a8924d1 Refactor and clean up footpath-related code
This commit corrects some misused defines, and gave them clearer names.
For example, the slope mask was only useful for surface elements, so now
"SURFACE" is in its name. I also replaced any hard coded values that I
could find and knew their purpose off.
2018-01-03 10:57:37 +01:00
Michael Steenbeek 347ff702d0 Refactor objects 2018-01-03 10:16:51 +01:00
Gymnasiast 23d70a4ac9 Compile ride.c as C++ 2017-12-31 20:43:17 +01:00
Aaron van Geffen d768a467b7 Implement std::string variant of TrimStart; add tests.
This also makes String::TrimStart handle all-whitespace strings.
2017-12-25 00:30:21 +01:00
Aaron van Geffen 4bc2ad18c4 Trim ideographic spaces as well. 2017-12-25 00:30:21 +01:00
Aaron van Geffen 6c26009f19 Fix #6097: String::Trim wasn't taking multibyte chars into account.
Extends StringTest with multibyte tests.
NB: ストリング is a katakana transcription of 'string'.
2017-12-25 00:30:21 +01:00
Michael Steenbeek c4f44e5e7a Compile files in paint folder as C++ 2017-12-17 17:24:36 +01:00
Aaron van Geffen 02abdb3709 Change failing test to expect nullptr rather than "". (#6832) 2017-12-16 12:06:22 +00:00
Michael Steenbeek 1a9975d683 Compile util and cheats as C++ 2017-12-14 10:03:21 +01:00
Michael Steenbeek 6dc49d643a Compile files in base dir as C++ 2017-12-13 08:03:48 +01: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
Michael Steenbeek 60d8865efb Compile game.c and game.h as C++ 2017-12-05 09:10:27 +01:00
Ted John e879df31e8 Fix testpaint code issues 2017-12-04 19:49:12 +00:00
Ted John c30739daff Use rct2_ride 2017-12-04 19:04:07 +00:00
Ted John ec6099f9f4 Name / define RCT2 addresses 2017-12-04 19:04:07 +00:00
Ted John ebf43c2529 Fix testpaint 2017-12-04 19:04:07 +00:00
Michael Steenbeek bf69b2e682 Make terminology use more consistent 2017-11-20 11:20:04 +01:00
Michael Steenbeek 268851aa87 Fix testpaint 2017-11-17 12:54:47 +01:00
Michael Steenbeek 99830ed069 Add track_cable_lift functions to compat.c 2017-11-17 12:54:47 +01:00
Michael Steenbeek a5dee3a0ae Add track_element_[sg]et_type to compat.c 2017-11-17 12:54:47 +01:00
Michael Steenbeek 60d5d5ca1e Cleanup 2017-11-17 12:54:47 +01:00
Michael Steenbeek f448d16707 Add methods for getting and setting track element type 2017-11-17 12:54:47 +01:00
Michael Steenbeek 5a7ace134f Apply changes to Testpaint 2017-11-17 12:54:47 +01:00
Christian F. Coors 06afeeda9a Apply some refactoring 2017-11-02 12:22:28 +01:00
Michael Steenbeek af845beb61 Replace mapElement with tileElement 2017-10-31 19:59:06 +01:00