Commit Graph

2997 Commits

Author SHA1 Message Date
duncanspumpkin 2488cb9c3a Add MoveTo function 2018-05-05 11:35:55 +01:00
duncanspumpkin a94fb2fa2e Use Invalidate 2018-05-05 11:35:54 +01:00
duncanspumpkin 85dbd42231 Fix functions after the move 2018-05-05 11:35:51 +01:00
duncanspumpkin 65dcacb9ea Move pathfinding functions to their own file 2018-05-05 11:30:22 +01:00
duncanspumpkin 865e0875d2 Make it compile after the move 2018-05-05 11:24:21 +01:00
duncanspumpkin f89b0927f6 Move Update state functions to correct files 2018-05-05 11:16:20 +01:00
Hielke Morsink 6e02d6af4c Make peep_has_food, has_item and has_drink member functions 2018-05-05 11:13:22 +01:00
duncanspumpkin a70301c114 Make it compile 2018-05-05 11:13:20 +01:00
duncanspumpkin 48acda4316 Fix functions after move 2018-05-05 11:13:19 +01:00
duncanspumpkin 40a88dc178 Move staff functions to staff.cpp 2018-05-05 11:08:20 +01:00
duncanspumpkin 8d37502c7a Further use of SetState 2018-05-05 11:08:17 +01:00
duncanspumpkin 012a6b4df2 Use peep->SetState 2018-05-05 11:08:16 +01:00
Hielke Morsink c47b9c65b0 Refactor peep logic for choosing rides 2018-05-05 11:08:15 +01:00
duncanspumpkin cbefe633d0 Further fixing 2018-05-05 11:06:26 +01:00
duncanspumpkin 986b5a3f4d Fix rebase issues 2018-05-05 11:06:24 +01:00
duncanspumpkin c455ee0234 Continue with guest.cpp 2018-05-05 11:06:23 +01:00
Hielke Morsink fae6b61496 Compile guest.cpp 2018-05-05 11:06:21 +01:00
Hielke Morsink c3723f337f Make peep.cpp compilable again 2018-05-05 11:04:52 +01:00
duncanspumpkin 80006cd4a0 Continue 2018-05-05 11:04:50 +01:00
duncanspumpkin f245d049f1 Further fixing 2018-05-05 11:04:49 +01:00
duncanspumpkin 87b3e5a823 Start the big refactor 2018-05-05 11:04:46 +01:00
Hielke Morsink 8d10bfb5a1 Add namespace closing comments 2018-05-04 22:54:43 +02:00
Hielke Morsink bc44792da9 Pack nested namespaces together 2018-05-04 22:54:43 +02:00
Hielke Morsink 11aeabdb2f Bump network version 2018-05-03 23:10:12 +02:00
Hielke Morsink a86482576f Land Line Tools (select land edges/row of tiles)
(This commit is multiple commits squashed together, to make rebasing and merging easier. Many of the commits undid or slightly altered previous changes.)

This Extends the land-tool by allowing the player to select an edge of a surface tile, and to select a row of tiles. Both work by holding down the Ctrl key (same key for keeping the same base-height for other tools). When using a single-sized tool, the selection will become the edge, and when using a selection area of 2x2 or higher, the selection becomes a row of tiles.

The tables `tile_element_raise_styles` and `tile_element_lower_styles` hold the data for how slopes should change when a tile gets raised or lowered with the land tool. Each row represents a selection, and each column the slope type.

Co-authored-by: Adam T <32143337+Despotico@users.noreply.github.com>
2018-05-03 23:03:07 +02:00
Michael Steenbeek 5f9d40be7a
Replace tile_element_get_type() with struct method 2018-05-02 19:27:04 +02:00
Michael Steenbeek 6d6714aa0f Fix setters 2018-05-02 14:24:57 +02:00
Michael Steenbeek 45ce5e1d7d Turn elementsAreAt90DegAngle into a bool 2018-05-02 13:36:45 +02:00
Michael Steenbeek e3ac097999 Use binary literals in TileElement.h 2018-05-02 13:30:15 +02:00
Michael Steenbeek b725916808 Use TitleCase 2018-05-02 13:27:53 +02:00
Michael Steenbeek ef433df26a Clean up tile element usage, introduce struct methods 2018-05-02 11:58:12 +02:00
Gymnasiast 350b777fe9 Fix includes 2018-05-01 20:38:57 +02:00
oli414 126881cc8a Move last_for_tile function to tile element 2018-05-01 18:08:11 +02:00
oli414 353c8bcf8d Adhere to coding style 2018-05-01 17:48:34 +02:00
oli414 c5fd9e67eb Seperate tile element from map 2018-05-01 17:47:00 +02:00
oli414 3bff12c081 Seperate surface tile element 2018-05-01 16:33:16 +02:00
oli414 27aa28749c Move surface element to seperate file 2018-05-01 14:57:13 +02:00
Gymnasiast 728eb7565c Increase network version 2018-04-30 21:20:18 +02:00
Gymnasiast 4244f915a1 Implement #7377: Allow for six 6-seater cars on the Wooden RC 2018-04-30 20:37:11 +02:00
Michael Steenbeek 3025599eb3
Merge pull request #7435 from ZehMatt/indexing-perf
Use multiple threads to generate object index cache.
2018-04-30 14:55:54 +02:00
Olivier Wervers 7713cdac4d Replace month count magic numbers 2018-04-29 20:46:46 +02:00
ZehMatt 76e54dd5ec Fix dead lock due to uninitialized variables. 2018-04-28 02:38:06 +02:00
Ted John 2ef549b055 Fix #7450: Only 3 standard entertainer costumes can be chosen
String value rather than string arrays were not being processed for enterainer costumes in object json files.
2018-04-26 22:00:48 +01:00
ZehMatt ee53855c62 Use emplace_back with reference as return type. 2018-04-26 21:26:30 +02:00
Ted John dd58a710ee Make Console::Write functions atomic 2018-04-26 21:26:30 +02:00
Ted John 7da60f4950 Make log functions atomic
Use only one print call to stdout in log functions so that messages are not malformed.
2018-04-26 21:26:30 +02:00
Ted John 20be1cc0a8 Small refactor and code format 2018-04-26 21:26:30 +02:00
ZehMatt b9d939b294 Show progress of processed elements instead of pending tasks. 2018-04-26 21:26:30 +02:00
ZehMatt d77f06c1ee Coding style changes. 2018-04-26 21:26:30 +02:00
ZehMatt 7be1cd3e37 Use std::list and fixed step size. 2018-04-26 21:26:30 +02:00
ZehMatt b9e0eede44 Code cleanup 2018-04-26 21:26:30 +02:00
ZehMatt 64d9109226 Add progress report back. 2018-04-26 21:26:30 +02:00
ZehMatt bee0fc25b1 Move all code into JobPool.hpp 2018-04-26 21:26:30 +02:00
ZehMatt ac6b3fb225 Change order of members. 2018-04-26 21:26:30 +02:00
ZehMatt 8c2ac904b4 Add missing vector include. 2018-04-26 21:26:30 +02:00
ZehMatt 6b649e6b29 Remove unused includes. 2018-04-26 21:26:30 +02:00
ZehMatt dfcec4d9da Refactor file indexing to use the job pool instead of threads. 2018-04-26 21:26:30 +02:00
ZehMatt 254aedefd4 Add generic job pool implementation. 2018-04-26 21:26:30 +02:00
ZehMatt e841c5b20b Use multiple threads to generate object index cache. 2018-04-26 21:26:30 +02:00
Michael Steenbeek 2d92ecf10b Fix #7436: Only the first 32 vehicles of a train can be painted 2018-04-26 10:33:54 +02:00
Hielke Morsink 49cf840f28
Fix memset byte value too big (#7447)
`memset` takes an integer as argument which gets converted to an unsigned byte. `SPRITE_INDEX_NULL` has a value of 0xFFFF, essentially cutting it to 0xFF. Calling `std::fill_n` instead of `memcpy` assigns the given value to each element in its range rather than setting the bytes. In this case, the result is the same.

None of the other calls to `memset` in the project use values bigger than 0xFF.
2018-04-25 14:47:03 +02:00
Michael Steenbeek 3aac52cf44 Fix rendering of inverted exclamation mark 2018-04-25 13:47: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 bf4f68fe33 Use enum type that guarantee to support its values
By default enumerators use type `int` which can store values up to `1 << 31 - 1`. The clang compiler generates this error for enums values that use the sign bit: `enumerator value is not representable in the underlying type 'int'.`

To get rid of those warnings (and technically improve the code) the erroneous enums are now of type of `uint32`.

Note: I've skipped peep.h to prevent conflicts with the peep refactor branch.
2018-04-24 16:51:42 +02:00
Hielke Morsink 5327c9feb4
Remove unused windows_get_registry_install_info (#7442) 2018-04-23 20:20:03 +02:00
Ted John 41b3a33af4
Merge pull request #7430 from IntelOrca/fix/scan-objects
Fix scan objects and run before tests
2018-04-22 22:11:03 +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
Manuel Vögele 588e6f32c4 Rename vehicle_is_boat_on_water to better reflect the actual functionality (#7421)
* Rename and refactor `vehicle_is_boat_on_water` to better reflect the actual functionality

New name is `vehicle_boat_is_location_accessible`

* Refactor `vehicle_boat_is_location_accessible` take `TileCoordsXYZ` as parameter
2018-04-20 12:50:11 +01:00
Ted John 4ce4101ac5 Ensure correct language is used for scan-objects 2018-04-20 00:12:40 +01:00
Ted John edb9dc39ab Pass object repository as a dependency when loading objects 2018-04-19 23:51:05 +01:00
Ted John 6d76d76f98 Protect against bad RCT2 strings 2018-04-19 22:36:14 +01:00
Ted John 6526f9f6cb Fix scan-objects CLI action
Ensure a context is available when objects are loaded.
2018-04-19 13:26:19 +01:00
Ted John 947a0625c8 Fix mingw builds 2018-04-18 13:16:20 +02:00
Ted John deaa60f8f1 Refactor string conversion between RCT2 and UTF8
Use Win32 API for conversion on Windows for non-1252 code pages instead of built-in tables.
2018-04-18 13:16:20 +02:00
Hielke Morsink f661d48d90 Add tests for tile_element_wants_path_connection_towards 2018-04-17 20:43:49 +02:00
Hielke Morsink 99d8c83807 Fix #7402 Properly check for entrance location before disconnecting paths 2018-04-17 20:43:49 +02:00
Albert Morgese a3b04a67b2 Implement #1675: Auto-rotate shops to face footpaths 2018-04-16 20:02:46 +02:00
Ted John d0ad94bb5e
Merge pull request #7412 from IntelOrca/cmake/msvc
Add basic support for MSVC to cmake scripts
2018-04-14 22:30:57 +01:00
Manuel Vögele e4b42f58a5 Fix the order predicate for GameCommands
This commit bumps the network stream version
2018-04-14 22:47:41 +02:00
Ted John f24b1bdfa6 Enable curl, openssl and freetype libraries for msvc 2018-04-13 19:21:03 +01:00
woj1993 4b372120f1 Fix #6141: CSS50.dat is never loaded (#7357) 2018-04-13 11:29:31 +01:00
Gymnasiast 4c676e6000 Fix #6134: Scenarios incorrectly categorised when using Polish version of RCT2 2018-04-13 09:07:01 +02:00
Ted John b8d8d24d21 Get cmake working with msvc for basic game 2018-04-12 23:07:18 +01:00
Gymnasiast 60b864441a Fix encoding of scenario index names 2018-04-12 13:13:14 +02:00
duncanspumpkin c2c5afa62c Fix mistaken assignment 2018-04-11 18:58:48 +01:00
duncanspumpkin e4e514c743 Fix travis errors. Revert mistaken rename.
Use enum where known

Remove unused cases
2018-04-11 18:16:23 +01:00
duncanspumpkin e954865b49 Fix waypoints for json changes 2018-04-11 18:16:16 +01:00
duncanspumpkin 765500adfa Label offsets and functions
Actually save before commiting

Label more peep vars.

Remove unread var

Further refactoring

Fix mistake in map element type
2018-04-11 18:16:09 +01:00
duncanspumpkin a24c2672fd Label all peep ride sub states
Add additional notes to function.

Perform exorcism on code base

Use vector for carArray
2018-04-11 18:15:47 +01:00
duncanspumpkin 376c40f1d4 Make peep loading positions nicer
Change name to waypoints. Rework
2018-04-11 18:15:28 +01:00
duncanspumpkin c96c7b29df Breakup substate 1 add asserts 2018-04-11 18:13:19 +01:00
duncanspumpkin fc14f6e635 Refactor peep update ride sub state 0 2018-04-11 18:13:17 +01:00
Ted John 1cd88a1641
Fix #7367: 'invalid name for park' shown when opening a scenario (#7394)
Apply extra changes from my own implementation of ParkSetNameAction
which re-introduces logging and calls the action directly from the UI
layer.
2018-04-10 17:14:32 +01:00
Hielke Morsink dc673a64d8 Give context the ownership of repositories and the object manager (#7340)
This makes them no longer a singleton, which fixes annoying behaviour when launching multiple contexts in one game session.
2018-04-10 13:19:23 +01:00
Michael Steenbeek 7ebd7f1194
Increase network version 2018-04-09 16:50:17 +02:00
Michael Steenbeek 92ba2dfb01 Make seatsInPairs default to true 2018-04-09 16:05:21 +02:00
Ted John dea5d2754b Search ObjData recursively
Enable recursive searching ObjData for Windows and non-Windows. This allows players to continue using sub directories for their official objects, e.g. WW and TT. There will be a slight performance hit if all objects are in a sub directory as a search is done for each official object that is loaded.
2018-04-08 19:03:33 +01:00
Ted John 9dba4a87cc Fix #7389: Path items cannot be placed on sloped paths
Handle isAllowedOnQueue and isAllowedOnSlope separately
2018-04-08 18:46:01 +01:00
Duncan 0ab3d0955c
Merge pull request #7310 from OpenRCT2/json-objects
Add support for new JSON object format
2018-04-08 10:45:55 +01:00
Michał Janiszewski b26d484726 Fix remaining headers 2018-03-31 23:48:15 +02:00