1. Use PanelStyle::kWui in the dropdown's constructor call, then have a look at BaseDropdown::BaseDropdown to go bug hunting and find out why it's still dark. Styles are defined in data/templates, there might also be a bug there.
2. Shift the code from LuaPlayer::get_defeated into the Widelands::Player class. Whether a player has won gets triggered by the win condition script, which calls report_result in the game controller. Maybe you can use some of that.
1. Use PanelStyle::kWui in the dropdown's constructor call, then have a look at BaseDropdown: :BaseDropdown to go bug hunting and find out why it's still dark. Styles are defined in data/templates, there might also be a bug there.
2. Shift the code from LuaPlayer: :get_defeated into the Widelands::Player class. Whether a player has won gets triggered by the win condition script, which calls report_result in the game controller. Maybe you can use some of that.