commit 175967f3a19038abdaa122e9275a5598e4ca4916 Author: piebot Date: Thu Sep 10 13:51:31 2026 +0100 Initial commit diff --git a/Menus/MainMenu.md b/Menus/MainMenu.md new file mode 100644 index 0000000..e541508 --- /dev/null +++ b/Menus/MainMenu.md @@ -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. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..7ba884e --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# 4J-UI +- [1. Main Menu ](Menus/MainMenu.md) +- [2. Buttons ](UIElements/Buttons.md) diff --git a/UIElements/Buttons.md b/UIElements/Buttons.md new file mode 100644 index 0000000..34f6ca5 --- /dev/null +++ b/UIElements/Buttons.md @@ -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) | diff --git a/assets/Buttons/Button.png b/assets/Buttons/Button.png new file mode 100644 index 0000000..0d7a6ed Binary files /dev/null and b/assets/Buttons/Button.png differ diff --git a/assets/Buttons/FJ_ListButton_Normal.png b/assets/Buttons/FJ_ListButton_Normal.png new file mode 100644 index 0000000..4dc3237 Binary files /dev/null and b/assets/Buttons/FJ_ListButton_Normal.png differ diff --git a/assets/Buttons/FJ_MainMenuButton_Normal.png b/assets/Buttons/FJ_MainMenuButton_Normal.png new file mode 100644 index 0000000..333eecd Binary files /dev/null and b/assets/Buttons/FJ_MainMenuButton_Normal.png differ diff --git a/assets/Buttons/LayoutButton_Over.png b/assets/Buttons/LayoutButton_Over.png new file mode 100644 index 0000000..d4fc594 Binary files /dev/null and b/assets/Buttons/LayoutButton_Over.png differ diff --git a/assets/Buttons/Layout_Button_Bmp.png b/assets/Buttons/Layout_Button_Bmp.png new file mode 100644 index 0000000..27fa8c4 Binary files /dev/null and b/assets/Buttons/Layout_Button_Bmp.png differ diff --git a/assets/Buttons/ListButton_Over.png b/assets/Buttons/ListButton_Over.png new file mode 100644 index 0000000..90c5b8a Binary files /dev/null and b/assets/Buttons/ListButton_Over.png differ diff --git a/assets/Buttons/MainMenuButton_Over.png b/assets/Buttons/MainMenuButton_Over.png new file mode 100644 index 0000000..ca98e16 Binary files /dev/null and b/assets/Buttons/MainMenuButton_Over.png differ diff --git a/assets/MainMenu/JavaPauseMenu.png b/assets/MainMenu/JavaPauseMenu.png new file mode 100644 index 0000000..ce94c7c Binary files /dev/null and b/assets/MainMenu/JavaPauseMenu.png differ diff --git a/assets/MainMenu/LCEPauseMenu.png b/assets/MainMenu/LCEPauseMenu.png new file mode 100644 index 0000000..79dcf34 Binary files /dev/null and b/assets/MainMenu/LCEPauseMenu.png differ diff --git a/assets/MainMenu/MainMenu.png b/assets/MainMenu/MainMenu.png new file mode 100644 index 0000000..0f45f2e Binary files /dev/null and b/assets/MainMenu/MainMenu.png differ