-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Introduce peep animation (costume) objects #23328
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduce peep animation (costume) objects #23328
Conversation
2b3b1fc
to
887fd52
Compare
Use object identifier if no scriptName is provided
36668da
to
985ef13
Compare
04759fb
to
018611f
Compare
c469343
to
4b4a172
Compare
Let’s get this bitch merged. I looked through the code and apart from dozens of comments that IMO just state the obvious, as well as one TODO, I didn’t see anything particularly nasty. If you could address the comment, rebase the PR I’ll take it for a spin. |
eca18ba
to
296abae
Compare
Thanks for the review. I believe I have addressed the comments. A changelog entry still needs to be added, but I'll wait for a bit so the branch doesn't conflict again. Note to self: before merging, we should re-tag the object bundle release to include the latest set of translations. |
I did a quick test. I have one thing: this changes the icon of the Entertainers in the Staff window to an astronaut, presumably because it’s the first available type. Would like to see the order changed so this defaults to a panda (RCT1) or an elephant (RCT2, OpenRCT2). Apart from that, it looks good, though I would like to see this tested by the DKMP crowd. |
Hmm, this was a deliberate change, though. The entertainers you mentioned can be omitted, after all. For legacy parks, I can make it such that the objects for panda/elephant/tiger entertainers are appended before the other entertainers. I think that would alleviate your concerns, right? (For parks that are newly created through the scenario editor, only the panda/elephant/tiger entertainers are available by default, so that should be fine already.)
Sure. I have asked @deurklink to test a build. |
Certainly - I was just talking about existing parks. I think that is just a modification of one or two tables, correct? |
Yes. That should be addressed by b83e99c then. |
Aaron asked me to this this PR. I checked the guests in several of my parks and found nothing out of the ordinary. I also used the Peep Editor plugin beta to cycle through all the animations of a guest from all 4 angles, and they all seem to work fine. Did the same for a handyman, mechanic, security guard, and several of the entertainer costumes. Didn't see any animations that look weird or broken. |
I agree with Deurklink, I also gave the Peep Editor a spin, and didn't find anything that is broken. Looks good to me. I was a bit confused at first that the |
b83e99c
to
26ea601
Compare
The word "costumes" was mistyped when appending the changelog (26ea601).
|
- Feature: [#23328] Introducing peep animation objects, enabling custom entertainer costumes. - Feature: [#23569] Add large diagonal flat to steep and dive loop track pieces. - Improved: [#20683] Allow Giga Coaster cable lift to start after block brake section. - Improved: [#23328] The costume list in the staff window is now ordered alphabetically. - Improved: [#23540] The file browser now optionally shows a file size column. - Improved: [#23640] Building sprite repository with command line can use images array of JSON parkobj. - Improved: [#23660] The ‘special elements’ dropdown has been reorganised, now using multiple columns and separators. - Improved: [#23730] Added optional button to toolbar to rotate view anti-clockwise. - Change: [#23328] All RCT2 entertainer costumes are now available in legacy parks. - Fix: [#1479] Incorrect values provided by the in game console “get location” command. - Fix: [#21794] Lay-down coaster cars reverse on first frames of downwards corkscrew. - Fix: [#23221] Track designs are saved with an incorrect ‘air’ time statistic. - Fix: [#23368] Incorrect refund amount when deleting track pieces at or above 96m. - Fix: [#23508] Simultaneous virtual floors shown for ride and footpath. - Fix: [#23512] Holding brakes are skipped if they’re too close together. - Fix: [#23581] [Plugin] Food/drink items given to guests have no consumption duration set. - Fix: [#23591] “Install new track” button in Track Designs Manager is misaligned. - Fix: [#23618] Can no longer build diagonal brakes & block brakes on Steeplechase, Inverted Lay-down, & Inverted Multi-Dim roller coasters.
This PR introduces peep animation (costume) objects to OpenRCT2, finishing a series of refactors that started with #21711. In essence, all sprite offsets for all peeps are moved from
PeepAnimationData.cpp
to objects. This includes all guest animations, as well as animations for all staff types. In the short run, this will allow players to make their own custom entertainer costumes.To facilitate this, the Peep struct is extended with an
AnimationObjectIndex
property. The existingAnimationGroup
is reworked to offset on a peep animation object instead. To populate both properties, an import step is added to the save file loading process. This automatically appends the relevant peep animation objects to existing saves, taking care to add entertainers based on what (vanilla) scenery group objects are selected in the save game. Obviously, this needs to be thoroughly tested.Note for the curious/adventurous/testers
This PR depends on OpenRCT2/objects#357, which has a few to-dos left. Until we've made a new object release including the objects, you will need to add these objects to your test setup manually.To do
PeepAnimationsObject::_animationGroups
private againgetCostumeStrings
functionen-GB.txt