Commit Graph

15684 Commits

Author SHA1 Message Date
Ted John cefa4c3935 Fix #8410: Grass is broken
Add zoom images to the very end of the image table so the offsets of the images are not changed.
2018-12-10 11:57:50 +00:00
Ted John 4863b7c671
Merge pull request #7961 from IntelOrca/edge-objects-2
Add new object types: station, terrain edge and terrain surface
2018-12-10 01:18:56 +00:00
Ted John 9dc860b526 Fix compile errors 2018-12-10 00:26:12 +00:00
Ted John 253409b64c Update changelog 2018-12-09 23:30:40 +00:00
Ted John 4b77d76303 Hide new object tabs until we have new save format 2018-12-09 23:30:40 +00:00
Ted John 74793a3931 Update objects version 2018-12-09 23:30:40 +00:00
Ted John ef57f1a403 Fix zoomed out images 2018-12-09 23:30:40 +00:00
Ted John 06f203a7e7 Implement surfaces, edges and stations as objects 2018-12-09 23:30:40 +00:00
roosen5 d9806305b0 Fix #8358: infinite loop when changing vehicle count on stopped ride. (#8375)
The sprite_remove in Sprite.cpp tries to find itself inside the quadrant.
It does not find itself, and because the rest of the code assumes that it will always find it
The normal code tries to set the value of the next_in_quadrant so that whoever points at it, will now point at its next sprite.
But because it didn't find whoever was pointing to it, it would set the pointer to SPRITE_INDEX_NULL to its next sprite.
This would lead to cycles in the linked list

The reason that the sprite was not found is that during the entry of a ride, the position of a peep is set to LOCATION_NULL
Exiting a ride sets it back to whatever the location is of an exit.
However stopping a ride that still has people in it would go wrong, as the people are removed from the ride through ride_remove_peeps

This function was called during the PaintWindows.
The fact that this function is called during the painting is the problem, because of the tweening:
Before painting all the positions are stored (Which would at that point be the LOCATION_NULL), during the painting
the peep would be removed from the ride, setting their location to the enrance/exit
After painting is done all the positions are restored again, so the patched position is forgotten and then it would be
removing a sprite with location LOCATION_NULL and that goes wrong

The fix is to have the window update outside of paint
2018-12-09 20:46:04 +01:00
ζeh Matt 04af3932ac Fix #5684: Refactor player list updates being bound on ticks. (#8399) 2018-12-09 20:39:44 +01:00
ζeh Matt f69c95f907 Fix #8392: prevent crash due to inconsistent player list updating. (#8397) 2018-12-09 10:18:23 +01:00
Michał Janiszewski eca13b99ed
Merge pull request #8367 from ZehMatt/paint-refactor2
Paint refactor
2018-12-05 23:46:21 +01:00
Michał Janiszewski cec86469f0
Improve imported object handling (#8372)
Reject and report invalid objects rather than triggering assert.
2018-12-05 23:12:22 +01:00
Matt 468d94a6ca Remove gCurrentViewportFlags 2018-12-05 23:09:17 +01:00
Matt adb4aa69a6 Rename UnkF1AD28 to LastRootPS 2018-12-05 23:08:43 +01:00
Matt aa8b8d8415 Remove unused member in paint_session. 2018-12-05 23:08:43 +01:00
Michał Janiszewski f5f3bfe087
Fix invalid scenery entry (#8328) 2018-12-05 23:01:13 +01:00
ζeh Matt dc7d14163f Fix OpenGL renderer causing infinite loop on hacked surfaces. (#8346) 2018-12-05 23:00:08 +01:00
ζeh Matt 940fff4bbf Fix dereferencing nullptr when game objects are missing. (#8360) 2018-12-05 22:59:15 +01:00
Michał Janiszewski f488c4bf35
Forward-declare json_t and reduce Json.hpp inclusion (#8368) 2018-12-05 20:31:32 +01:00
ζeh Matt 2da01caa1e Fix #8338: GAs using player id instead of index to log money spent. (#8361) 2018-12-05 07:39:57 +01:00
Michał Janiszewski c845924956
Validate news item type on import (#8334)
News items use queue split into two logical partitions. When detected an
invalid news item type, simply drop remaining items to avoid having to
handle all the possible cases of where the invalid items falls.
Additionally, as normal use case wouldn't have triggered such an invalid
type, it must have come from some invalid file anyway, so assume it is
fine to drop other items.
2018-12-03 20:06:05 +01:00
ζeh Matt 61ef7b1c9e Fix #8345: crash with deleted surface when using "Own all land" cheat (#8347) 2018-12-03 19:43:36 +01:00
Michael Steenbeek 3c63402e1d
Fix number of free sprites on SV6 import 2018-12-01 17:34:02 +01:00
Michał Janiszewski ebd4e8f5d6
Provide more checks when handling possibly-gone windows (#8331) 2018-11-30 23:32:55 +01:00
Michał Janiszewski 0a9527fd7d
Include config.ini in the dump (#8316) 2018-11-30 12:42:53 +01:00
Michał Janiszewski eeaca6112e
Merge pull request #8214 from janisozaur/more-backtrace-info
Add compressed sv6 to backtrace.io uploads
2018-11-29 22:41:52 +01:00
Michał Janiszewski a78e812a64 Add `dereference` command to aid testing breakpad 2018-11-29 21:40:59 +01:00
Michał Janiszewski fe2ab7a653 Add compressed sv6 to backtrace.io uploads 2018-11-29 21:40:59 +01:00
Michael Steenbeek a9a583dcd1
Fix #8200: Incorrect behaviour when removing entrances/exits on the same tile 2018-11-27 22:59:31 +01:00
Hielke Morsink d0108b38e9
Merge pull request #8286 from Broxzier/refactor/std-size
Use std::size instead of Util::CountOf
2018-11-23 22:17:18 +01:00
Hielke Morsink d394e33948 Remove Util.hpp from xcode project
Not verified, the lines were removed manually with a text editor.
2018-11-23 21:59:08 +01:00
Hielke Morsink 354d973a48 Use std::size instead of Util::CountOf 2018-11-23 21:59:08 +01:00
OpenRCT2 git bot 88b2f5fa53 Merge Localisation/master into OpenRCT2/develop. 2018-11-22 04:00:23 +00:00
TELK 5a16e0416e Add #8259 to changelog [ci skip] 2018-11-21 18:24:34 +01:00
ζeh Matt 1abb31a159 Implement game action logging. (#8138) 2018-11-20 06:04:42 +01:00
OpenRCT2 git bot e043af4be2 Merge Localisation/master into OpenRCT2/develop. 2018-11-20 04:00:25 +00:00
Michał Janiszewski 0d2751a54e
Hide the network class declaration to Network.cpp (#8276)
The Network class is not used by anyone other than free functions in
Network.cpp, nor should it be used by anyone with the current design.

This change leaves only the publicly-exposed functions left in the
header, drastically reducing amount of required headers in network.h,
one of the heaviest headers we had so far.
2018-11-19 23:10:54 +01:00
Hielke Morsink 913e75fc65 Mention correct tab name in string 2018-11-19 22:11:18 +01:00
Michael Steenbeek 85345e775d
Add #7439 to changelog [ci skip] 2018-11-19 22:10:29 +01:00
TELK 4cc2057b94 Add 'say' command in console (#8259)
* Add 'say' command in console

* Unifying space just before }
2018-11-18 20:38:55 +01:00
Michael Steenbeek 9446422aca
Fix #8272: Do not attempt to add blank DAT names in S4Importer 2018-11-18 10:35:00 +01:00
Michael Steenbeek 57a6f06891
Merge pull request #8270 from Gymnasiast/fix/rct1-research-walls
Some RCT1 import fixes
2018-11-17 18:39:25 +01:00
Gymnasiast 618a650ac2 Fix RCT1 import of white and light brown fence 2018-11-17 18:18:00 +01:00
Gymnasiast ace42a98a5 Fix RCT1 import if research list is gone 2018-11-17 18:18:00 +01:00
Michał Janiszewski af91a0ef61
Add abort and terminate to console
Often when testing things out there's a need to have a way of inducing a
crash. Rather than trying to figure out what might be the bug that would
cause such conditions on given version, compiler and OS, provide a
simple way to call std::abort() and std::terminate() via the in-game
console.

Additionally, sort the commands.
2018-11-17 00:26:27 +01:00
OpenRCT2 git bot 2baaa070e9 Merge Localisation/master into OpenRCT2/develop. 2018-11-16 04:00:23 +00:00
Michael Steenbeek de12a8dda1
Import S4 elements property-by-property 2018-11-13 21:48:20 +01:00
ζeh Matt 3a1c14146a Fix #8253: Prevent null dereference. 2018-11-12 21:34:05 +01:00
ζeh Matt 06c5508bab Fix #8212: Crash when opening rides with changed mode and no tracks. (#8216) 2018-11-12 20:13:42 +01:00