1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-17 12:03:07 +01:00
Commit Graph

11958 Commits

Author SHA1 Message Date
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
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
354d973a48 Use std::size instead of Util::CountOf 2018-11-23 21:59:08 +01:00
ζeh Matt
1abb31a159 Implement game action logging. (#8138) 2018-11-20 06:04:42 +01: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
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
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
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
Felix Pelletier
4c5fccc9b6 Fix #7689: Deleting 0-tile maze gives a MONEY32_UNDEFINED (negative) refund 2018-11-11 21:01:06 +01:00
Michał Janiszewski
7582afe0b4 Fix #8248: Invalid tile element in footpath_element_insert (#8249)
* Fix #8248: Invalid tile element in footpath_element_insert

* Update Footpath.cpp
2018-11-11 19:17:08 +01:00
Michael Steenbeek
82aba96728 Cheats: use 'weather' instead of 'climate' (#8246) 2018-11-10 14:30:41 +01:00
Gymnasiast
a2033bc8ab Add non-breaking spaces 2018-11-09 23:41:18 +01:00
Gymnasiast
72d2ebd4d7 Add Russian rouble sign 2018-11-09 23:40:18 +01:00
Hielke Morsink
18f1fab2cc Merge pull request #8235 from Broxzier/ui/climate
Move climate setting from objective to scenario settings window
2018-11-09 00:10:52 +01:00
Hielke Morsink
fb5343114e format NetworkActions::Actions 2018-11-08 23:45:40 +01:00
Hielke Morsink
b45fabdc7d Add new action to 'edit scenario options' permission 2018-11-08 23:44:51 +01:00
Hielke Morsink
107faaf821 Add and use game action for setting the climate
Also reordered the registered game actions the same as headers, so they are easier to find.
2018-11-08 22:39:13 +01:00
Michael Steenbeek
94ce57929a Fix #8236: Paths of track designs are built incorrectly 2018-11-08 22:13:44 +01:00
Hielke Morsink
2170c26e93 Include what gets used
To reduce including "big" files, like game.h", and just include the headers that are needed. Partly used IWYU to find the headers, but removed the ones that are hard requirements of included headers, like common.h and gameactions.h.
2018-11-07 22:19:33 +01:00
Hielke Morsink
7a57bf1d5c Move climate dropdown from objective options to scenario options 2018-11-06 22:53:31 +01:00
ζeh Matt
223ae74c6b Refactor code to obtain resolutions. (#8215) 2018-11-06 07:20:57 +01:00
Michael Steenbeek
df768a3fad Fix #8201: Only quarter scenery objects in one corner can be painted 2018-11-05 20:12:22 +01:00