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

78 Commits

Author SHA1 Message Date
duncanspumpkin
881afc7579 Remove IsMoneyEffect 2020-06-06 11:36:48 +01:00
duncanspumpkin
f5772fae48 Remove IsDuck 2020-06-06 11:36:47 +01:00
duncanspumpkin
4485937560 Remove IsBalloon 2020-06-06 11:36:47 +01:00
duncanspumpkin
1758f2a133 Implement As and Is functions for SpriteBase 2020-06-06 11:36:42 +01:00
Gymnasiast
11472f909d Convert sprite_move to method 2020-05-13 10:47:32 +02:00
duncanspumpkin
fed148648c Use IsPeep in more places 2020-04-28 07:57:47 +01:00
duncanspumpkin
63549dee57 Ensure move_sprite_to_list only used in sprite.cpp
After an entity is created it should never need to call this function. This will be important in later changes when the lists are changed to vectors
2020-04-28 07:27:05 +01:00
duncanspumpkin
5b07a76f05 Use sprite_identifier when identifying entitys
The linked list index is only meant to be used for accessing the linked lists. Using the wrong variable is unlikely to cause issues for this exact case but it makes things cleaner.
2020-04-27 18:47:51 +01:00
Michał Janiszewski
2323cc1596 Use named casts instead of old-style casts
Change prepared with clang-tidy and google-readability-casting check
2020-04-22 17:09:29 +02:00
Tulio Leao
64e4a8420e Use named casts on openrct2/world (#11141) 2020-04-17 21:08:22 +02:00
Duncan
fdf98060cf Change the spatial insert to make it ordered (#11252)
* Change the spatial insert to make it ordered

This is so that the spatial index can be rebuilt and gauranteed to be in the correct order

* Increment Network Version

* Make review changes

* Remove the gSpriteSpatialIndex from the network

* Use safer get function

* Final little tweak
2020-04-09 10:46:26 +01:00
Duncan
f64ea65d03 Rename SPRITE_LIST_TRAIN_HEAD to reduce car head confusion (#11105)
A single car on a coaster can comprise of multiple vehicles. One of those vehicles will be the car head vehicle. The train can comprise of multiple cars. Therefore not all vehicle->IsHead 's will be in SPRITE_LIST_TRAIN_HEAD. This rename makes that slightly more clear
2020-03-29 09:23:24 +01:00
Michael Steenbeek
ef1906d452 Use constants for max sprites and spatial index (#10983) 2020-03-20 20:16:38 +01:00
jeysbach
568b19e7b3 Feature #10637: Console command for removing floating objects 2020-03-16 09:48:26 +01:00
Gymnasiast
cded8313d7 Replace many occurrences of LocationXY16 2020-03-01 22:15:28 +01:00
Michał Janiszewski
d3db4f5cf8 Fix GCC10 warnings (#10703)
The warnings reported were:
```
../src/openrct2/peep/GuestPathfinding.cpp: In function ‘Direction peep_pathfind_choose_direction(TileCoordsXYZ, Peep*)’:
../src/openrct2/peep/GuestPathfinding.cpp:1371:81: error: ‘void* memset(void*, int, size_t)’ writing to an object of non-trivial type ‘struct<unnamed>’; use assignment instead [-Werror=class-memaccess]
 1371 |             std::memset(_peepPathFindHistory, 0xFF, sizeof(_peepPathFindHistory));
      |                                                                                 ^
../src/openrct2/peep/GuestPathfinding.cpp:35:1: note: ‘struct<unnamed>’ declared here
   35 | {
      | ^

../src/openrct2/world/Sprite.cpp: In function ‘void reset_sprite_list()’:
../src/openrct2/world/Sprite.cpp:152:52: error: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘union rct_sprite’; use assignment or value-initialization instead [-Werror=class-memaccess]
  152 |     std::memset(_spriteList, 0, sizeof(_spriteList));
      |                                                    ^
In file included from ../src/openrct2/world/Sprite.cpp:10:
../src/openrct2/world/Sprite.h:117:7: note: ‘union rct_sprite’ declared here
  117 | union rct_sprite
      |       ^~~~~~~~~~
```
2020-02-18 00:00:19 +01:00
Michael Steenbeek
6d97601d6f Replace hardcoded occurrences of maximum map size (#10696) 2020-02-13 20:27:13 +01:00
duncanspumpkin
28565b370d Fix clang format 2020-01-19 17:19:45 +00:00
duncanspumpkin
272e4f29a3 Further minor refactors 2020-01-19 17:16:42 +00:00
duncanspumpkin
08ea5585ee Small refactors and cleanups 2020-01-19 17:16:42 +00:00
duncanspumpkin
5e9e9df7ce Refactor invalidate_sprite 2020-01-19 17:16:42 +00:00
duncanspumpkin
71aed18fba Rfactor sprite_set_coordinates 2020-01-19 17:16:42 +00:00
duncanspumpkin
bdcfd615ed Refactor sprite_move 2020-01-19 17:16:41 +00:00
duncanspumpkin
a262f325ed Refactor sprite_remove 2020-01-19 17:15:52 +00:00
duncanspumpkin
65c6564165 Use SpriteBase instead of rct_sprite for move_sprite_to_list 2020-01-19 17:15:52 +00:00
duncanspumpkin
164acc85cc Rename sprites to newer style naming 2020-01-19 17:10:53 +00:00
duncanspumpkin
4e796ec92d Increase Sprite size to 0x200
This should allow for major refactoring of the sprite classes
2020-01-19 17:08:57 +00:00
Gymnasiast
62fcbb07ca Rename methods to GetBaseZ/GetClearanceZ 2019-12-23 20:08:37 +01:00
Gymnasiast
7d11858dbe Create getter for GetBaseHeight()/GetClearanceHeight() 2019-12-23 20:05:24 +01:00
Tulio Leao
a2c7ecc6e5 Make Map::map_get_first_element_at() use CoordsXY (#10413)
* Make Map::map_get_first_element_at() use CoordsXY

* Fix clang-format on ClearAction.hpp

* Prefer TileDIrectionDelta over hardcoded delta on RideConstruction

* Use named Direction constants

* Make Compat::map_get_first_element_at() use CoordsXY
2019-12-23 07:35:41 +00:00
Matt
d60cdbe5f2 Fix #10420: Money effect causing false positive desync 2019-12-22 07:50:51 +01:00
Tulio Leao
b793d7e79a Avoid dereferencing map_get_first_element_at nullptr on libopenrct2 (#10013)
* Avoid dereferencing map_get_first_element_at nullptr on Map.cpp

* Avoid dereferencing map_get_first_element_at nullptr on MapAnimation.cpp

Returning true or internal control variable, based on what was seen on `map_animation_invalidate_track_onridephoto`

* Avoid dereferencing map_get_first_element_at nullptr on Park.cpp

* Avoid dereferencing map_get_first_element_at nullptr on Scenery.cpp

* Avoid dereferencing map_get_first_element_at nullptr on Sprite.cpp

* Avoid dereferencing map_get_first_element_at nullptr on TileInspector.cpp

* Avoid dereferencing map_get_first_element_at nullptr on Wall.cpp

* Avoid dereferencing map_get_first_element_at nullptr on Fountain.cpp

* Avoid dereferencing map_get_first_element_at nullptr on Footpath.cpp

* Avoid dereferencing map_get_first_element_at nullptr on Entrance.cpp

* Avoid dereferencing map_get_first_element_at nullptr on Banner.cpp

* Avoid dereferencing map_get_first_element_at nullptr on Vehicle.cpp

* Avoid dereferencing map_get_first_element_at nullptr on TrackDesignSave.cpp

* Avoid dereferencing map_get_first_element_at nullptr on TrackDesign.cpp

* Avoid dereferencing map_get_first_element_at nullptr on Track.cpp

* Avoid dereferencing map_get_first_element_at nullptr on Station.cpp

* Avoid dereferencing map_get_first_element_at nullptr on RideRatings.cpp

* Avoid dereferencing map_get_first_element_at nullptr on Ride.cpp

* Avoid dereferencing map_get_first_element_at nullptr on S4Importer.cpp

* Avoid dereferencing map_get_first_element_at nullptr on Staff.cpp

* Avoid dereferencing map_get_first_element_at nullptr on Peep.cpp

* Avoid dereferencing map_get_first_element_at nullptr on GuestPathfinding.cpp

* Avoid dereferencing map_get_first_element_at nullptr on Guest.cpp

* Avoid dereferencing map_get_first_element_at nullptr on VirtualFloor.cpp

* Avoid dereferencing map_get_first_element_at nullptr on Paint.TileElement.cpp

* Fix issues raised on review

* Fix remaining review issues.

* Early exit on loops if tileElement is nullptr

* Fix clang-format issues
2019-10-09 15:02:21 +01:00
duncanspumpkin
927c8a4e85 Create ScreenCoords struct. Refactor 3d_to_2d again 2019-08-19 20:04:58 +01:00
duncanspumpkin
9619fd384d Refactor map_is_location_owned to use CoordsXYZ 2019-08-19 20:04:56 +01:00
Ted John
60db202ea7 Return nullptr in get_sprite if out of range 2019-08-10 12:18:51 +01:00
Ted John
85e63cbe3b Do not include name in peep checksum 2019-07-29 20:21:02 +01:00
Ted John
40d49b93d3 Do not use user strings for peep names 2019-07-29 19:18:16 +01:00
Matt
f3638ca858 Address code review 2019-07-24 18:12:25 +02:00
Matt
3395079737 Remove NUM_SPRITE_LISTS macro and replace with SPRITE_LIST_COUNT for consistency 2019-07-24 17:53:54 +02:00
Matt
98a17fe8d9 Refactor create_sprite and remove unnecessary move_sprite_to_list 2019-07-24 17:53:51 +02:00
Duncan
4e44818a04 Merge pull request #9449 from ZehMatt/refactor/sprite-list-pow2
Remove unnecessary multiplication and division for sprite lists
2019-07-13 09:37:35 +01:00
Jim Armstrong
9c976daa51 Refactor #9474: Refactor jumping fountain code (#9475)
* Refactor jumping_fountain_update to Update

* Refactor jumping_fountain_get_type to GetType

* Refactor jumping_fountain_continue to Continue

Fix typos and misc refactoring

* Refactor begin and create functions into static member functions

Move jumping_fountain_begin and jumping_fountain_create into the rct_jumping_fountain struct and make them static

* Refactor remaining fountain functionality into member functions

* Rename JumpingFountain struct and move to proper header file

JumpingFountain code was refactored to conform to variable naming conventions and moved into the Fountain.h file.

rct_sprite_generic struct was moved to SpriteBase.h - this was done to get around a circular header dependency between Fountain.h and Sprite.h

* Set access modifier for private functions

* Change JumpingFountain variable names to TitleCase

* Refactor #9474: Clarify where auto is being used with pointers

* Refactor #9474: Change function names for clarity

* Refactor #9474: Fix incorrect function names
2019-07-11 20:38:30 +01:00
Matt
fc3afb3349 Remove unnecessary multiplication and division for sprite lists 2019-06-22 17:38:28 +02:00
aw20368
3ee6be0dbf Fix #9288: Replace repeated 3d to 2d functions (#9301)
Replaced duplicate 3d to 2d code with translate_3d_to_2d_with_z(...).
2019-05-30 22:41:53 +02:00
aw20368
8c20b635bd Fix #9270: Refactor money effect
Changed static functions to rct_money_effect member functions. GetStringId now returns std::pair.
2019-05-21 21:22:47 +02:00
Greg Hennis
1fcedae3bc Fix #9258: Rename SPRITE_LIST_NULL to ..._FREE (#9260) 2019-05-15 19:07:01 +02:00
Filip Gawin
6833da77e3 Simplify boolean expresions 2019-05-10 22:00:38 +02:00
Michael Steenbeek
da6794ad9e Refactor second argument to move_sprite_to_list() 2019-05-08 22:11:51 +02:00
Aaron van Geffen
2af13904c5 Update copyright notices for 2019. (#8903) 2019-03-17 07:16:15 +00:00
ζeh Matt
3b69c1c75e Fix #8055: Ignore rendering specific fields for sprite checksum. (#8895) 2019-03-16 21:53:26 +01:00