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

Change map toolbar icon with current rotation #9154

Merged
merged 4 commits into from
May 1, 2019

Conversation

AaronVanGeffen
Copy link
Member

@AaronVanGeffen AaronVanGeffen commented Apr 27, 2019

While working on OpenLoco, I noticed a particular feature that we still hadn't ported over to OpenRCT2: the map icon changes depending on the current viewport rotation.

Currently, the implementation overlays the original icon, rather than replacing it. Depending on the feedback here, I may create proper toolbar icons instead. This would include a highlighted version for the pressed state.

In action

Forest Frontiers 2019-04-27 16-53-26
west, south, east

Bonus materials

As Locomotion's map icon is 24x24 pixels, rather than the 22x22 pixels in OpenRCT2's toolbar, I decided to redo the icons instead of just cropping them.

Here's what the bare map looks like without compass or grid lines. I interpolated by overlaying the Locomotion and RCT2 icons — confirming they are indeed showing the same map.

map_24x24

Added grid lines (22x22):
map_22x22_grid_only

Added compass (22x22):
map_22x22_north map_22x22_west map_22x22_south map_22x22_east

Framed (normal):
map_north map_west map_south map_east

Framed (pressed):
map_north_pressed map_west_pressed map_south_pressed map_east_pressed

@AaronVanGeffen AaronVanGeffen added the changelog This issue/PR deserves a changelog entry. label Apr 27, 2019
@AaronVanGeffen AaronVanGeffen added pending review and removed changelog This issue/PR deserves a changelog entry. labels Apr 28, 2019
@Broxzier
Copy link
Member

What did you base the orientation for the compass on? Right now in many places in the code we refer to Noth/East/South/West based on the X/Y grid (positive X being South and Positive Y being East).

In a previous PR this confusion was brought up, and different conventions are apparently mixed in the code base as well (though I still haven't seen it being any different myself). Mixing things up further is not going to help (one referring to "North" as top of the screen, the other as a specific direction, and yet another based on the X/Y grid)

#8618 (comment)

In localization for the Tile Inspector, the later convention is used. https://github.com/OpenRCT2/OpenRCT2/blob/develop/data/language/en-GB.txt#L3406-L3409

These orientations are based on the flags used by some tile elements (park fences, path edges, quadrant scenery placement, etc.).

@AaronVanGeffen
Copy link
Member Author

Hmm, I hadn’t considered that, to be honest. The compass orientation is the same as used in Locomotion / OpenLoco.

Not sure what the best course of action would be. I think a perpendicular compass would be clearest, though…

@Gymnasiast
Copy link
Member

Perhaps change the names to up/right/down/left for now, and sort out the naming mess later on.

@AaronVanGeffen
Copy link
Member Author

I appreciate the suggestion, but to me, up/right/down/left makes no sense for viewport rotation…

@Gymnasiast
Copy link
Member

I was talking about the sprite naming. I wasn't suggesting renaming the viewport rotation itself.

@AaronVanGeffen
Copy link
Member Author

Ah, alright. I am neutral towards the naming there. Could we please tackle that in a separate PR, though?

@Gymnasiast
Copy link
Member

@AaronVanGeffen Don't mind the naming either, but I thought Broxzier took issue, and I was trying to find a way to work around his (perceived) objections.

@Broxzier
Copy link
Member

Broxzier commented May 1, 2019

I didn't mean that you'd have to rename anything, just change the sprites to match one orientation. But since it's not exactly clear what's best, I've created a new issue where we can discuss it. This is not a blocking matter for this PR, and could be updated later easily.

@AaronVanGeffen AaronVanGeffen merged commit df42cfe into OpenRCT2:develop May 1, 2019
@AaronVanGeffen AaronVanGeffen deleted the feature/map-compass branch May 1, 2019 22:07
AaronVanGeffen added a commit that referenced this pull request Jul 10, 2019
- Feature: [#485] Rides can now be simulated with ghost trains during construction.
- Feature: [#1260] Option for making giant screenshots have a transparent background.
- Feature: [#2339] Find local servers automatically when fetching servers.
- Feature: [#7296] Allow assigning a keyboard shortcut for the scenery picker.
- Feature: [#8029] Add the Hungarian Forint (HUF) to the list of available currencies.
- Feature: [#8481] Multi-threaded rendering.
- Feature: [#8558] Guest debugging tab.
- Feature: [#8659] Banner and sign texts are now shown in tooltips.
- Feature: [#8687] New multiplayer toolbar icon showing network status with reconnect option.
- Feature: [#8791] Improved tile element flag manipulation in Tile Inspector.
- Feature: [#8919] Allow setting ride price from console.
- Feature: [#8963] Add missing Czech letters to sprite font, use sprite font for Czech.
- Feature: [#9154] Change map toolbar icon with current viewport rotation.
- Change: [#7877] Files are now sorted in logical rather than dictionary order.
- Change: [#8427] Ghost elements now show up as white on the mini-map.
- Change: [#8688] Move common actions from debug menu into cheats menu.
- Change: [#9428] Increase maximum height of the Hypercoaster to RCT1 limits.
- Fix: [#2294] Clients crashing the server with invalid object selection.
- Fix: [#4568, #5896] Incorrect fences removed when building a tracked ride through
- Fix: [#5103] OpenGL: ride track preview not rendered.
- Fix: [#5889] Giant screenshot does not work while using OpenGL renderer.
- Fix: [#5579] Network desync immediately after connecting.
- Fix: [#5893] Looking at guest window tabs other than the main tab eventually causes assertion.
- Fix: [#5905] Urban Park merry-go-round has entrance and exit swapped (original bug).
- Fix: [#6006] Objects higher than 6 metres are considered trees (original bug).
- Fix: [#7039] Map window not rendering properly when using OpenGL.
- Fix: [#7045] Theme window's colour pickers not drawn properly on OpenGL.
- Fix: [#7323] Tunnel entrances not rendering in 'highlight path issues' mode if they have benches inside.
- Fix: [#7729] Money Input Prompt breaks on certain values.
- Fix: [#7884] Unfinished preserved rides can be demolished with quick demolish.
- Fix: [#7913] RCT1/RCT2 title sequence timing is off.
- Fix: [#7700, #8079, #8969] Crash when unloading buggy custom rides.
- Fix: [#7829] Rotated information kiosk can cause 'unreachable' messages.
- Fix: [#7878] Scroll shortcut keys ignore SHIFT/CTRL/ALT modifiers.
- Fix: [#8219] Faulty folder recreation in "save" folder.
- Fix: [#8480, #8535] Crash when mirroring track design.
- Fix: [#8507] Incorrect change in vehicle rolling direction.
- Fix: [#8537] Imported RCT1 rides/shops are all numbered 1.
- Fix: [#8553] Scenery removal tool removes fences and paths while paused.
- Fix: [#8598] Taking screenshots fails with some park names.
- Fix: [#8602] Wall piece collision detection deviates from vanilla
- Fix: [#8649] Setting date does not work in multiplayer.
- Fix: [#8873] Potential crash when placing footpaths.
- Fix: [#8882] Submarine Ride does not count as indoors (original bug).
- Fix: [#8900] Peep tracking is not synchronized.
- Fix: [#8909] Potential crash when invoking game actions as server.
- Fix: [#8947] Detection of AVX2 support.
- Fix: [#8988] Character sprite lookup noticeably slows down drawing.
- Fix: [#9000] Show correct error message if not enough money available.
- Fix: [#9067] Land/water tools show prices when money is disabled.
- Fix: [#9124] Disconnected clients can crash the server.
- Fix: [#9132] System file browser cannot open SV4 files.
- Fix: [#9152] Spectators can modify ride colours.
- Fix: [#9202] Artefacts show when changing ride type as client or using in-game console.
- Fix: [#9240] Crash when passing directory instead of save file.
- Fix: [#9245] Headless servers apply Discord Rich Presence.
- Fix: [#9293] Issue with the native load/save dialog.
- Fix: [#9322] Peep crashing the game trying to find a ride to look at.
- Fix: [#9324] Crash trying to remove invalid footpath scenery.
- Fix: [#9402] Ad campaigns disappear when you save and load the game.
- Fix: [#9411] Ad campaigns end too soon.
- Fix: [#9476] Running `simulate` command on park yields `Completed: (null)`.
- Fix: [#9520] Time Twister object artdec29 conversion problem.
- Fix: Guests eating popcorn are drawn as if they're eating pizza.
- Fix: The arbitrary ride type and vehicle dropdown lists are ordered case-sensitively.
- Improved: [#6116] Expose colour scheme for track elements in the tile inspector.
- Improved: Allow the use of numpad enter key for console and chat.
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

5 participants