diff --git a/lib/games/expansive_civilian_warfare.rb b/lib/games/expansive_civilian_warfare.rb index 0116ed8..a79d716 100644 --- a/lib/games/expansive_civilian_warfare.rb +++ b/lib/games/expansive_civilian_warfare.rb @@ -7,9 +7,9 @@ class W3DHub set_news_feed "https://w3dhub.com/forum/forum/208-expansive-civilian-warfare.xml" set_background_color 0xff_3e5c87 - menu_item(nil, "Game Settings") - menu_item(nil, "Repair Installation") - menu_item(nil, "Uninstall") + menu_item("#{GAME_ROOT_PATH}/media/ui_icons/gear.png", "Game Settings") + menu_item("#{GAME_ROOT_PATH}/media/ui_icons/wrench.png", "Repair Installation") + menu_item("#{GAME_ROOT_PATH}/media/ui_icons/trashCan.png", "Uninstall") menu_item(nil, "Install Folder") menu_item(nil, "User Data Folder") diff --git a/lib/games/interim_apex.rb b/lib/games/interim_apex.rb index 8118e59..b213781 100644 --- a/lib/games/interim_apex.rb +++ b/lib/games/interim_apex.rb @@ -7,9 +7,9 @@ class W3DHub set_news_feed "https://w3dhub.com/forum/forum/209-interim-apex.xml" set_background_color 0xff_034866 - menu_item(nil, "Game Settings") - menu_item(nil, "Repair Installation") - menu_item(nil, "Uninstall") + menu_item("#{GAME_ROOT_PATH}/media/ui_icons/gear.png", "Game Settings") + menu_item("#{GAME_ROOT_PATH}/media/ui_icons/wrench.png", "Repair Installation") + menu_item("#{GAME_ROOT_PATH}/media/ui_icons/trashCan.png", "Uninstall") menu_item(nil, "Install Folder") menu_item(nil, "User Data Folder") diff --git a/lib/games/ra_a_path_beyond.rb b/lib/games/ra_a_path_beyond.rb index 66fea9b..03dd3b0 100644 --- a/lib/games/ra_a_path_beyond.rb +++ b/lib/games/ra_a_path_beyond.rb @@ -7,9 +7,9 @@ class W3DHub set_news_feed "https://w3dhub.com/forum/forum/201-red-alert-a-path-beyond.xml" set_background_color 0xff_353535 - menu_item(nil, "Game Settings") - menu_item(nil, "Repair Installation") - menu_item(nil, "Uninstall") + menu_item("#{GAME_ROOT_PATH}/media/ui_icons/gear.png", "Game Settings") + menu_item("#{GAME_ROOT_PATH}/media/ui_icons/wrench.png", "Repair Installation") + menu_item("#{GAME_ROOT_PATH}/media/ui_icons/trashCan.png", "Uninstall") menu_item(nil, "Install Folder") menu_item(nil, "User Data Folder") diff --git a/lib/games/renegade.rb b/lib/games/renegade.rb index 730b517..5c7f2c9 100644 --- a/lib/games/renegade.rb +++ b/lib/games/renegade.rb @@ -7,7 +7,7 @@ class W3DHub set_news_feed "https://w3dhub.com/forum/forum/231-command-and-conquer-renegade.xml" set_background_color 0xff_b03f25 - menu_item(nil, "Game Settings") + menu_item("#{GAME_ROOT_PATH}/media/ui_icons/gear.png", "Game Settings") menu_item(nil, "Install Folder") menu_item(nil, "View Screenshots") diff --git a/lib/games/ts_reborn.rb b/lib/games/ts_reborn.rb index 273914c..4f7cd3f 100644 --- a/lib/games/ts_reborn.rb +++ b/lib/games/ts_reborn.rb @@ -7,9 +7,9 @@ class W3DHub set_news_feed "https://w3dhub.com/forum/forum/97-tiberian-sun-reborn.xml" set_background_color 0xff_497331 - menu_item(nil, "Game Settings") - menu_item(nil, "Repair Installation") - menu_item(nil, "Uninstall") + menu_item("#{GAME_ROOT_PATH}/media/ui_icons/gear.png", "Game Settings") + menu_item("#{GAME_ROOT_PATH}/media/ui_icons/wrench.png", "Repair Installation") + menu_item("#{GAME_ROOT_PATH}/media/ui_icons/trashCan.png", "Uninstall") menu_item(nil, "Install Folder") menu_item(nil, "User Data Folder") diff --git a/lib/states/boot.rb b/lib/states/boot.rb index 7ef6c7a..c386590 100644 --- a/lib/states/boot.rb +++ b/lib/states/boot.rb @@ -11,7 +11,7 @@ class W3DHub stack(width: 1.0, height: 0.925) do end - @progressbar = progress height: 0.025, width: 1.0 + @progressbar = progress height: 0.025, width: 1.0, fraction_background: 0xff_00acff, border_thickness: 0 flow(width: 1.0, height: 0.05, padding_left: 16, padding_right: 16, padding_bottom: 8, padding_top: 8) do caption "Checking for updates...", width: 0.5 diff --git a/lib/states/interface.rb b/lib/states/interface.rb index b584eee..bb9e092 100644 --- a/lib/states/interface.rb +++ b/lib/states/interface.rb @@ -4,6 +4,8 @@ class W3DHub def setup window.show_cursor = true + @focused_game = W3DHub::Game.games.first + @main_thread_queue = [] theme({ @@ -97,19 +99,7 @@ class W3DHub # background 0xff_44aa00 # Games List - stack(width: 0.15, height: 1.0) do - background 0xff_121920 - - W3DHub::Game.games.each do |game| - stack(width: 1.0, border_thickness_left: 4, border_color_left: 0xff_000000) do - background game.background_color - - image game.icon, height: 48 - inscription game.name - end.subscribe(:clicked_left_mouse_button) do |e| - populate_game_page(game) - end - end + @games_list_container = stack(width: 0.15, height: 1.0) do end # Game Menu @@ -119,6 +109,7 @@ class W3DHub end populate_game_page(W3DHub::Game.games.first) + populate_games_list end def update @@ -129,6 +120,26 @@ class W3DHub end end + def populate_games_list + @games_list_container.clear do + background 0xff_121920 + + W3DHub::Game.games.each do |game| + selected = game == @focused_game + + stack(width: 1.0, border_thickness_left: 4, border_color_left: selected ? 0xff_00acff : 0x00_000000) do + background game.background_color if selected + + image game.icon, height: 48 + inscription game.name + end.subscribe(:clicked_left_mouse_button) do |e| + populate_game_page(game) + populate_games_list + end + end + end + end + def populate_game_page(game) @focused_game = game diff --git a/media/ui_icons/gear.png b/media/ui_icons/gear.png new file mode 100644 index 0000000..bc19573 Binary files /dev/null and b/media/ui_icons/gear.png differ diff --git a/media/ui_icons/license.txt b/media/ui_icons/license.txt new file mode 100644 index 0000000..d6484ae --- /dev/null +++ b/media/ui_icons/license.txt @@ -0,0 +1,14 @@ + +############################################################################### + + Game icon pack by Kenney Vleugels (www.kenney.nl) + + ------------------------------ + + License (CC0) + http://creativecommons.org/publicdomain/zero/1.0/ + + You may use these graphics in personal and commercial projects. + Credit (Kenney or www.kenney.nl) would be nice but is not mandatory. + +############################################################################### \ No newline at end of file diff --git a/media/ui_icons/massiveMultiplayer.png b/media/ui_icons/massiveMultiplayer.png new file mode 100644 index 0000000..e169a06 Binary files /dev/null and b/media/ui_icons/massiveMultiplayer.png differ diff --git a/media/ui_icons/multiplayer.png b/media/ui_icons/multiplayer.png new file mode 100644 index 0000000..6d96000 Binary files /dev/null and b/media/ui_icons/multiplayer.png differ diff --git a/media/ui_icons/question.png b/media/ui_icons/question.png new file mode 100644 index 0000000..a1b75ad Binary files /dev/null and b/media/ui_icons/question.png differ diff --git a/media/ui_icons/save.png b/media/ui_icons/save.png new file mode 100644 index 0000000..a40de9f Binary files /dev/null and b/media/ui_icons/save.png differ diff --git a/media/ui_icons/share1.png b/media/ui_icons/share1.png new file mode 100644 index 0000000..3db9e99 Binary files /dev/null and b/media/ui_icons/share1.png differ diff --git a/media/ui_icons/siganl1.png b/media/ui_icons/siganl1.png new file mode 100644 index 0000000..9516f2b Binary files /dev/null and b/media/ui_icons/siganl1.png differ diff --git a/media/ui_icons/signal2.png b/media/ui_icons/signal2.png new file mode 100644 index 0000000..e672f98 Binary files /dev/null and b/media/ui_icons/signal2.png differ diff --git a/media/ui_icons/signal3.png b/media/ui_icons/signal3.png new file mode 100644 index 0000000..b0763e7 Binary files /dev/null and b/media/ui_icons/signal3.png differ diff --git a/media/ui_icons/singleplayer.png b/media/ui_icons/singleplayer.png new file mode 100644 index 0000000..a8e6571 Binary files /dev/null and b/media/ui_icons/singleplayer.png differ diff --git a/media/ui_icons/trashcan.png b/media/ui_icons/trashcan.png new file mode 100644 index 0000000..cbd352d Binary files /dev/null and b/media/ui_icons/trashcan.png differ diff --git a/media/ui_icons/warning.png b/media/ui_icons/warning.png new file mode 100644 index 0000000..5869f57 Binary files /dev/null and b/media/ui_icons/warning.png differ diff --git a/media/ui_icons/wrench.png b/media/ui_icons/wrench.png new file mode 100644 index 0000000..5f74641 Binary files /dev/null and b/media/ui_icons/wrench.png differ