Skip to content
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

Add "All Scenery" tab to scenery window #19341

Merged
merged 37 commits into from Feb 22, 2023

Conversation

trzejos
Copy link
Contributor

@trzejos trzejos commented Feb 9, 2023

Adds a new tab at the end in the scenery window containing all available scenery items. The idea is that this would make it easier to search through all objects with a filter string rather than having to go into each individual tab.

Example:
image

Tab sprites credited to @Broxzier with help from @karst

@karst
Copy link
Member

karst commented Feb 9, 2023

I want to see if an infinity symbol in the style of the question mark might work better.
If I'd make that, what colour should it be?

I was also wondering if it could be linked to the right side of the window entirely, or if it has to be last in the list? I think if linked to the right, even if it'd created a gap, would be most preferable.

@trzejos
Copy link
Contributor Author

trzejos commented Feb 9, 2023

I think I'm partial to the golden yellow color in the zoom/game speed buttons. I agree that keeping it off to the side would be better. I'm not quite sure how to accomplish that yet but I can play around with it.

@trzejos
Copy link
Contributor Author

trzejos commented Feb 9, 2023

Here it is with 18 or fewer scenery groups selected:
image
image

And again with 19+ scenery groups:
image
image

@trzejos
Copy link
Contributor Author

trzejos commented Feb 13, 2023

@karst just curious if you have any updates on tab icons. If you'd rather wait we can maybe get this feature merged as is, and can update the icon in a later PR.

@karst
Copy link
Member

karst commented Feb 13, 2023

I will finally have a day off work again tomorrow. So I can probably take a look at it then. If I haven't please just mark the PR as ready and I'll get to it eventually in a seperate PR.

Comment on lines 715 to 733
for (size_t index = 0; index < _tabEntries.size(); index++)
{
if (!_tabEntries[index].IsSearch())
continue;

auto searchTabWidget = &widgets[WIDX_SCENERY_TAB_1 + index];
searchTabWidget->left = windowWidth - TabWidth - 2;
searchTabWidget->right = windowWidth - 3;
break;
}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@fidwell I'm wondering how you expect this bit of code to work with #19373. If it makes sense I can remove these lines and we can just treat this new tab like the other tabs.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it'd still work. We could pin the new tab to the right still, just on the last row, like this:
image

If my PR gets merged before yours I'm happy to help implement this.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that can work. Is that a mockup or did you get it working like that?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a mockup.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I recommend it to be in the top-right of the tablist.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm I gotta think about how to best do that.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If it makes sense I can play with the offsets a little bit and get some space between it and the previous tab, what do you think @karst ?

@karst
Copy link
Member

karst commented Feb 13, 2023

infinitity

How about this?

Infinity-glyph

@duncanspumpkin
Copy link
Contributor

infinitity

How about this?

Infinity-glyph

I think the magnifying glass describes it better imho.

@karst
Copy link
Member

karst commented Feb 13, 2023

@Broxzier's reasoning was that the magnifying glass would say "search" even though it's supposed to be an "all" tab (since you can search on any), which is why he suggested making an infinity logo.
idm either way.

Here's the new icons. See whichever you want to use as you please :)
search.zip

@karst
Copy link
Member

karst commented Feb 13, 2023

image

This is what it would look like in game.
Perhaps I could give it a darker extra outline, similar to the misc icon. Should I?

I did notice a bug that the misc tab is now always showing, even if it's empty.

@Broxzier
Copy link
Member

Broxzier commented Feb 13, 2023

The infinite icon seems a bit thin and it's touching the edges. I've made a quick alternative version that I think fits the other icons from the game better, can you try this out?

image

image

@trzejos
Copy link
Contributor Author

trzejos commented Feb 14, 2023

Yeah I'll give the last one a try, I like the shape of that one the most so far.

@trzejos
Copy link
Contributor Author

trzejos commented Feb 14, 2023

I must have goofed up the png settings for the tab icons somehow:
image

I'm not sure what I did wrong here. Could I have another set of eyes on this?

@karst
Copy link
Member

karst commented Feb 14, 2023

I think the image might be in the wrong format (should be png 8-bit 256) @Broxzier could you make a zip similar to mine?

@duncanspumpkin
Copy link
Contributor

Will need rebasing/reworking now that @fidwell 's PR is in.

@trzejos
Copy link
Contributor Author

trzejos commented Feb 15, 2023

That was much easier than I was expecting it to be. Just have to figure out the icon issue now.
image

@karst
Copy link
Member

karst commented Feb 15, 2023

Just have to figure out the icon issue now.

Hielke's icons are made in RGB, they need to be indexed.

@karst
Copy link
Member

karst commented Feb 15, 2023

infinity icon.zip
try these

@trzejos
Copy link
Contributor Author

trzejos commented Feb 15, 2023

Working now but it looks like it kinda flickers to me
image

Hard to show in a picture. I'm not sure if it's just my monitor or if there's an issue with how I'm drawing the icon.

@karst
Copy link
Member

karst commented Feb 15, 2023

There might be a color I missed when converting from RGB to Index that is linked to water or chainlifts. I will have to test.

@trzejos
Copy link
Contributor Author

trzejos commented Feb 15, 2023

it seemed to be some of the black pixels around the outline

@trzejos trzejos changed the title Add search/all tab to scenery window Add "All Scenery" tab to scenery window Feb 15, 2023
@karst
Copy link
Member

karst commented Feb 15, 2023

Yeah, then it recognizes them as hex codes 010101 020202 and 030303 which are the chainlifts. I will have to change that to 000000.

@karst
Copy link
Member

karst commented Feb 15, 2023

it did in fact go to 010101. Replaced them with the brown colour that's used around the border from all yellow arrows.
infinity icon.zip

@trzejos
Copy link
Contributor Author

trzejos commented Feb 15, 2023

much better, just one orange pixel on the selected version:
image

@karst
Copy link
Member

karst commented Feb 15, 2023

yea just noticed that. Here's that corrected.
infinity icon.zip

@trzejos
Copy link
Contributor Author

trzejos commented Feb 15, 2023

it works
image

I think it matches up well with the other icons in the game too

@trzejos
Copy link
Contributor Author

trzejos commented Feb 22, 2023

that was fun

@Broxzier Broxzier enabled auto-merge (squash) February 22, 2023 23:24
@Broxzier
Copy link
Member

Since this was going to be squashed anyway, it didn't really matter. To make rebasing easier, it can help to squash all commits into one commit on the same base where the branch originated, then rebase it on the develop branch.

@Broxzier Broxzier merged commit 04aeed8 into OpenRCT2:develop Feb 22, 2023
@trzejos trzejos deleted the scenery-window-all-tab branch February 22, 2023 23:33
@karst
Copy link
Member

karst commented Feb 24, 2023

Am curious if a tab like this would be nice for the ride selection window, or if that'd be concidered clutter. Mainly asking since that tab has a filter function as well now.

@trzejos
Copy link
Contributor Author

trzejos commented Feb 25, 2023

I think it's less valuable there since there are not so many different categories of ride types. I don't think it would add too much clutter to the interface though.

@trzejos trzejos mentioned this pull request Feb 25, 2023
22 tasks
janisozaur added a commit that referenced this pull request Mar 28, 2023
- Feature: [#11269] Add properties for speed and length of vehicle animations.
- Feature: [#15849] Objectives can now be set for up to 50000 guests.
- Feature: [#18537] Add shift/control modifiers to window close buttons, closing all but the given window or all windows of the same type, respectively.
- Feature: [#18732] [Plugin] API to get the guests thoughts.
- Feature: [#18744] Cheat to allow using a regular path as a queue path.
- Feature: [#19023] Add Canadian French translation.
- Feature: [#19341] Add “All Scenery” tab to scenery window.
- Feature: [#19378] Add command to combine CSG1i.DAT and CSG1.DAT.
- Feature: [objects#226] Port RCT1 Corkscrew Coaster train.
- Feature: [objects#229] Port RCT1 go karts with helmets.
- Feature: [OpenMusic#20, OpenMusic#21] Added Blizzard and Extraterresterial ride music styles.
- Improved: [#11473] Hot reload for plug-ins now works on macOS.
- Improved: [#12466] RCT1 parks now use RCT1’s interest calculation algorithm.
- Improved: [#14635] Scenery window now shows up to 255 scenery groups.
- Improved: [#17288] Reorganise the order of shortcut keys in the Shortcut Keys window.
- Improved: [#18706] Ability to view the list of contributors in-game.
- Improved: [#18749] Ability to have 4 active awards for more than one month in a row.
- Improved: [#18826] [Plugin] Added all actions and their documentation to plugin API.
- Improved: [#18945] Languages can now fall back to other languages than English.
- Improved: [#18970] Trying to load a non-park save will now display a context error.
- Improved: [#18975] Add lift sprites for steep hills on the wooden roller coaster.
- Improved: [#19044] Added special thanks to RMC and Wiegand to the About page.
- Improved: [#19131] Track missing objects when selecting scenery groups in console.
- Improved: [#19253] Queue junctions drawn properly when using regular paths as queue. Note: Requires using tile inspector to indicate railings can be used at T or X junctions.
- Improved: [#19067] New Ride window now allows filtering similarly to Object Selection.
- Improved: [#19272] Scenery window now allows filtering similarly to Object Selection.
- Improved: [#19447] The control key now enables word jumping in text input fields.
- Improved: [#19463] Added ‘W’ and ‘Y’ with circumflex to sprite font (for Welsh).
- Improved: [#19549] Enable large address awareness for 32 bit Windows builds allowing to use 4 GiB of virtual memory.
- Improved: [#19668] Decreased the minimum map size from 13 to 3.
- Improved: [#19683] The delays for ride ratings to appear has been reduced drastically.
- Improved: [#19697] “Show guest purchases” will now work in multiplayer.
- Change: [#19018] Renamed actions to fit the naming scheme.
- Change: [#19091] [Plugin] Add game action information to callback arguments of custom actions.
- Change: [#19233] Reduce lift speed minimum and maximum values for “Classic Wooden Coaster”.
- Removed: [#19520] Support for Windows Vista systems.
- Fix: [#474] Mini golf window shows more players than there actually are (original bug).
- Fix: [#592] Window scrollbar not able to navigate to the end of large lists.
- Fix: [#7210] Land tile smoothing occurs with edge tiles (original bug).
- Fix: [#17996] Finances window not cleared when starting some .park scenarios.
- Fix: [#18260] Crash opening parks that have multiple tiles referencing the same banner entry.
- Fix: [#18467] “Selected only” Object Selection filter is active in Track Designs Manager, and cannot be toggled.
- Fix: [#18904] OpenRCT2 audio object accidentally exported in saves.
- Fix: [#18905] Ride Construction window theme is not applied correctly.
- Fix: [#18911] Mini Golf station does not draw correctly from all angles.
- Fix: [#18971] New Game does not prompt for save before quitting.
- Fix: [#18986] [Plugin] Sending remote scripts larger than 63KiB crashing all clients.
- Fix: [#18994] Title music doesn’t start after enabling master volume.
- Fix: [#19025] Park loan behaves inconsistently with non-round and out-of-bounds values.
- Fix: [#19026] Park loan is clamped to a 32-bit integer.
- Fix: [#19068] Guests may not join queues correctly.
- Fix: [#19091] [Plugin] Remote plugins in multiplayer servers do not unload properly.
- Fix: [#19112] Clearing the last character in the Object Selection filter does not properly reset it.
- Fix: [#19112] Text boxes not updated with empty strings in Track List, Server List, and Start Server windows.
- Fix: [#19114] [Plugin] ‘GameActionResult’ does not comply to API specification.
- Fix: [#19136] SV6 saves with experimental RCT1 paths not imported correctly.
- Fix: [#19243] .park scenarios don’t complete properly.
- Fix: [#19250] MusicObjects do not free their preview images.
- Fix: [#19292] Overflow in ‘totalRideValue’.
- Fix: [#19339] Incorrect import of crashed particles from SV4.
- Fix: [#19379] “No platforms” station style shows platforms on the Junior Roller Coaster.
- Fix: [#19380] Startup crash when no sequences are installed and random sequences are enabled.
- Fix: [#19391] String corruption caused by an improper buffer handling in ‘GfxWrapString’.
- Fix: [#19434, #19509] Object types added by OpenRCT2 do not get removed when executing ‘remove_unused_objects’.
- Fix: [#19475] Cannot increase loan when more than £1000 in debt.
- Fix: [#19493] SV4 saves not importing the correct vehicle colours.
- Fix: [#19517] Crash when peeps try to exit or enter hacked rides that have no waypoints specified.
- Fix: [#19524] Staff counter shows incorrect values if there are more than 32767 staff members.
- Fix: [#19574] Handle exits in null locations.
- Fix: [#19641, #19643] Missing water tile in Infernal Views’ and Six Flags Holland’s river.
qwzhaox pushed a commit to qwzhaox/OpenRCT2 that referenced this pull request Apr 10, 2023
- Feature: [OpenRCT2#11269] Add properties for speed and length of vehicle animations.
- Feature: [OpenRCT2#15849] Objectives can now be set for up to 50000 guests.
- Feature: [OpenRCT2#18537] Add shift/control modifiers to window close buttons, closing all but the given window or all windows of the same type, respectively.
- Feature: [OpenRCT2#18732] [Plugin] API to get the guests thoughts.
- Feature: [OpenRCT2#18744] Cheat to allow using a regular path as a queue path.
- Feature: [OpenRCT2#19023] Add Canadian French translation.
- Feature: [OpenRCT2#19341] Add “All Scenery” tab to scenery window.
- Feature: [OpenRCT2#19378] Add command to combine CSG1i.DAT and CSG1.DAT.
- Feature: [objects#226] Port RCT1 Corkscrew Coaster train.
- Feature: [objects#229] Port RCT1 go karts with helmets.
- Feature: [OpenMusic#20, OpenMusic#21] Added Blizzard and Extraterresterial ride music styles.
- Improved: [OpenRCT2#11473] Hot reload for plug-ins now works on macOS.
- Improved: [OpenRCT2#12466] RCT1 parks now use RCT1’s interest calculation algorithm.
- Improved: [OpenRCT2#14635] Scenery window now shows up to 255 scenery groups.
- Improved: [OpenRCT2#17288] Reorganise the order of shortcut keys in the Shortcut Keys window.
- Improved: [OpenRCT2#18706] Ability to view the list of contributors in-game.
- Improved: [OpenRCT2#18749] Ability to have 4 active awards for more than one month in a row.
- Improved: [OpenRCT2#18826] [Plugin] Added all actions and their documentation to plugin API.
- Improved: [OpenRCT2#18945] Languages can now fall back to other languages than English.
- Improved: [OpenRCT2#18970] Trying to load a non-park save will now display a context error.
- Improved: [OpenRCT2#18975] Add lift sprites for steep hills on the wooden roller coaster.
- Improved: [OpenRCT2#19044] Added special thanks to RMC and Wiegand to the About page.
- Improved: [OpenRCT2#19131] Track missing objects when selecting scenery groups in console.
- Improved: [OpenRCT2#19253] Queue junctions drawn properly when using regular paths as queue. Note: Requires using tile inspector to indicate railings can be used at T or X junctions.
- Improved: [OpenRCT2#19067] New Ride window now allows filtering similarly to Object Selection.
- Improved: [OpenRCT2#19272] Scenery window now allows filtering similarly to Object Selection.
- Improved: [OpenRCT2#19447] The control key now enables word jumping in text input fields.
- Improved: [OpenRCT2#19463] Added ‘W’ and ‘Y’ with circumflex to sprite font (for Welsh).
- Improved: [OpenRCT2#19549] Enable large address awareness for 32 bit Windows builds allowing to use 4 GiB of virtual memory.
- Improved: [OpenRCT2#19668] Decreased the minimum map size from 13 to 3.
- Improved: [OpenRCT2#19683] The delays for ride ratings to appear has been reduced drastically.
- Improved: [OpenRCT2#19697] “Show guest purchases” will now work in multiplayer.
- Change: [OpenRCT2#19018] Renamed actions to fit the naming scheme.
- Change: [OpenRCT2#19091] [Plugin] Add game action information to callback arguments of custom actions.
- Change: [OpenRCT2#19233] Reduce lift speed minimum and maximum values for “Classic Wooden Coaster”.
- Removed: [OpenRCT2#19520] Support for Windows Vista systems.
- Fix: [OpenRCT2#474] Mini golf window shows more players than there actually are (original bug).
- Fix: [OpenRCT2#592] Window scrollbar not able to navigate to the end of large lists.
- Fix: [OpenRCT2#7210] Land tile smoothing occurs with edge tiles (original bug).
- Fix: [OpenRCT2#17996] Finances window not cleared when starting some .park scenarios.
- Fix: [OpenRCT2#18260] Crash opening parks that have multiple tiles referencing the same banner entry.
- Fix: [OpenRCT2#18467] “Selected only” Object Selection filter is active in Track Designs Manager, and cannot be toggled.
- Fix: [OpenRCT2#18904] OpenRCT2 audio object accidentally exported in saves.
- Fix: [OpenRCT2#18905] Ride Construction window theme is not applied correctly.
- Fix: [OpenRCT2#18911] Mini Golf station does not draw correctly from all angles.
- Fix: [OpenRCT2#18971] New Game does not prompt for save before quitting.
- Fix: [OpenRCT2#18986] [Plugin] Sending remote scripts larger than 63KiB crashing all clients.
- Fix: [OpenRCT2#18994] Title music doesn’t start after enabling master volume.
- Fix: [OpenRCT2#19025] Park loan behaves inconsistently with non-round and out-of-bounds values.
- Fix: [OpenRCT2#19026] Park loan is clamped to a 32-bit integer.
- Fix: [OpenRCT2#19068] Guests may not join queues correctly.
- Fix: [OpenRCT2#19091] [Plugin] Remote plugins in multiplayer servers do not unload properly.
- Fix: [OpenRCT2#19112] Clearing the last character in the Object Selection filter does not properly reset it.
- Fix: [OpenRCT2#19112] Text boxes not updated with empty strings in Track List, Server List, and Start Server windows.
- Fix: [OpenRCT2#19114] [Plugin] ‘GameActionResult’ does not comply to API specification.
- Fix: [OpenRCT2#19136] SV6 saves with experimental RCT1 paths not imported correctly.
- Fix: [OpenRCT2#19243] .park scenarios don’t complete properly.
- Fix: [OpenRCT2#19250] MusicObjects do not free their preview images.
- Fix: [OpenRCT2#19292] Overflow in ‘totalRideValue’.
- Fix: [OpenRCT2#19339] Incorrect import of crashed particles from SV4.
- Fix: [OpenRCT2#19379] “No platforms” station style shows platforms on the Junior Roller Coaster.
- Fix: [OpenRCT2#19380] Startup crash when no sequences are installed and random sequences are enabled.
- Fix: [OpenRCT2#19391] String corruption caused by an improper buffer handling in ‘GfxWrapString’.
- Fix: [OpenRCT2#19434, OpenRCT2#19509] Object types added by OpenRCT2 do not get removed when executing ‘remove_unused_objects’.
- Fix: [OpenRCT2#19475] Cannot increase loan when more than £1000 in debt.
- Fix: [OpenRCT2#19493] SV4 saves not importing the correct vehicle colours.
- Fix: [OpenRCT2#19517] Crash when peeps try to exit or enter hacked rides that have no waypoints specified.
- Fix: [OpenRCT2#19524] Staff counter shows incorrect values if there are more than 32767 staff members.
- Fix: [OpenRCT2#19574] Handle exits in null locations.
- Fix: [OpenRCT2#19641, OpenRCT2#19643] Missing water tile in Infernal Views’ and Six Flags Holland’s river.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants