Initial commit

This commit is contained in:
2026-09-10 13:51:31 +01:00
commit 175967f3a1
13 changed files with 40 additions and 0 deletions
+23
View File
@@ -0,0 +1,23 @@
# 1. Main Menu
![Main Menu](../assets/MainMenu/MainMenu.png)
## What is Main Menu?
Main menu is the first menu you see after the Intro Sequence, as well as the pause menu.
This menu is also used in Help & Options.
# Design Choices
## 1. Vertical Layout (Controller first)
Most of LCE's UIs are built for controllers, this is a prime example of it.
On the start menu, it's a 1:1 copy of Java, however, on the pause menu, instead of following a Grid layout like Java (which hinders the controller experience on consoles), it follows the same layout as the start menu.
| Java UI | LCE UI |
|:--------:|:------:|
| ![Main Menu](../assets/MainMenu/JavaPauseMenu.png) | ![Main Menu](../assets/MainMenu/LCEPauseMenu.png) |
If, let's say, you want to navigate to **Achievements**, on a controller you would typically want to go down, then left (assuming that going down moves to Statistics), compared to LCE UI's vertical button layout, which just lets you go down 3 times.
## 2. Reusing the Main Menu
When selecting **Help & Options**, it does not open an entirely new menu. Instead, it opens another variation of the Main Menu, with the buttons replaced by options relevant to the selected section.
+3
View File
@@ -0,0 +1,3 @@
# 4J-UI
- [1. Main Menu ](Menus/MainMenu.md)
- [2. Buttons ](UIElements/Buttons.md)
+14
View File
@@ -0,0 +1,14 @@
# Buttons
![Main Menu](../assets/Buttons/Button.png)
# Design Choices
## 1. Scaling
Contrary to popular belief, **LCE** did not implement 9 slice scaling to buttons like **Java** did.
They simply used different textures based on the button type, Here are the assets taken from the source for said buttons (Take **use** with a grain of salt):
| Name | Use | Normal | Highlighted |
|:-----|:----|:-------|:------------|
| `FJ_MainMenuButton_Normal` | Used for all main menus | ![FJ_MainMenuButton_Normal](../assets/Buttons/FJ_MainMenuButton_Normal.png) | ![MainMenuButton_Over](../assets/Buttons/MainMenuButton_Over.png)
| `FJ_ListButton_Normal` | Player list | ![FJ_ListButton_Normal](../assets/Buttons/FJ_ListButton_Normal.png) | ![ListButton_Over](../assets/Buttons/ListButton_Over.png) |
| `Layout_Button` | Controls menu | ![Layout_Button_Bmp](../assets/Buttons/Layout_Button_Bmp.png) | ![LayoutButton_Over](../assets/Buttons/LayoutButton_Over.png) |
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 992 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 923 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 532 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB