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 ability to horizontally scroll entries #543

Open
wants to merge 12 commits into
base: main
Choose a base branch
from

Conversation

BenCheung0422
Copy link
Member

@BenCheung0422 BenCheung0422 commented Jul 26, 2023

Fixes #486
This is a more complete version of #489.
This generally enables the ability to scroll entries horizontally and render the entries without hardly breaking or hiding the entries.
This fixes a number of issues related to non-user-friendly rendering on entries.
Features:

  • Manual scrolling when the entry is longer than the menu bounds:
Minicraft.Plus.2023-07-26.22-33-00.mp4
  • Improved input entry displacement handling and scrolling:
Minicraft.Plus.2023-07-26.22-33-26.mp4
  • Static entry scrolling (scrolling text and alternating scrolling text):
Minicraft.Plus.2023-07-26.22-27-10.mp4
  • World list input entry fix (previous and new):
Minicraft.Plus.2023-07-26.22-47-42.mp4
Minicraft.Plus.2023-07-26.22-47-14.mp4
  • A new common class is added: RenderingLimitingModel
    Controls to entry shifting are limited to only menus internally.
    Internally, entries are wrapped by MenuListEntry for the controls of entries over menu.

@BenCheung0422
Copy link
Member Author

BenCheung0422 commented Jul 29, 2023

How about implementing this in inventory menus? limiting the menus to only a half of screen width as the fixed size. This can remove the requirement of translating menus and allow players to examine the contents of 2 inventories in the same view. This can instead implement horizontal scrolling text.

@BenCheung0422
Copy link
Member Author

This may resolve #204 and #208 in the near future.

A new common class is added: RenderingLimitingModel
Controls to entry shifting are limited to only menus internally.
Rendering bounds configs are removed.
Limiting bounds configs are removed because of its uselessness.
Internally, entries are wrapped by MenuListEntry for the controls of entries over menu.
# Conflicts:
#	src/client/java/minicraft/core/Renderer.java
#	src/client/java/minicraft/entity/ItemEntity.java
#	src/client/java/minicraft/entity/furniture/Furniture.java
#	src/client/java/minicraft/entity/mob/Player.java
#	src/client/java/minicraft/entity/particle/Particle.java
#	src/client/java/minicraft/gfx/Font.java
#	src/client/java/minicraft/gfx/Rectangle.java
#	src/client/java/minicraft/gfx/Screen.java
#	src/client/java/minicraft/level/tile/TreeTile.java
#	src/client/java/minicraft/level/tile/farming/PotatoTile.java
#	src/client/java/minicraft/level/tile/farming/WheatTile.java
#	src/client/java/minicraft/screen/AchievementsDisplay.java
#	src/client/java/minicraft/screen/ControlsDisplay.java
#	src/client/java/minicraft/screen/LevelTransitionDisplay.java
#	src/client/java/minicraft/screen/Menu.java
#	src/client/java/minicraft/screen/PopupDisplay.java
#	src/client/java/minicraft/screen/WorldGenDisplay.java
#	src/client/java/minicraft/screen/entry/BlankEntry.java
#	src/client/java/minicraft/screen/entry/InputEntry.java
#	src/client/java/minicraft/screen/entry/StringEntry.java
@Makkkkus
Copy link
Member

Incorrect, this won't solve #204. That's a completely different problem.

Another problem is that having to scroll the text to make it viewable is bad game design. All of the text you need to see should be on the screen by default; if not you can use another menu.

An alternative to this would be to increase the resolution of the main menu slightly, although not so it diverges from the style of the game.

I advice to close this issue, and discuss alternative solutions on the Discord in a democratic fashion.

@BenCheung0422
Copy link
Member Author

You advice cannot solve the problem. What about inventory menu? Indefinitely increasing the resolution? That is not the way to solve a problem. It needs to be flexible, not frozen as ice.

# Conflicts:
#	src/client/java/minicraft/gfx/Screen.java
#	src/client/java/minicraft/level/tile/TreeTile.java
#	src/client/java/minicraft/level/tile/farming/PotatoTile.java
#	src/client/java/minicraft/level/tile/farming/WheatTile.java
#	src/client/java/minicraft/screen/PopupDisplay.java
@BenCheung0422 BenCheung0422 added Bug Something that shouldn't happen. UX labels Aug 28, 2024
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.

is this supposed to happen?
3 participants