|
|
|
|
@ -59,6 +59,7 @@
|
|
|
|
|
#include "setup/file.hpp" |
|
|
|
|
#include "setup/info.hpp" |
|
|
|
|
#include "setup/language.hpp" |
|
|
|
|
#include "setup/component.hpp" |
|
|
|
|
|
|
|
|
|
#include "stream/chunk.hpp" |
|
|
|
|
#include "stream/file.hpp" |
|
|
|
|
@ -628,7 +629,7 @@ bool print_file_info(const extract_options & o, const setup::info & info) {
|
|
|
|
|
} |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
bool multiple_sections = (o.list_languages + o.gog_game_id + o.list + o.show_password > 1); |
|
|
|
|
bool multiple_sections = (o.list_languages + o.list_components + o.gog_game_id + o.list + o.show_password > 1); |
|
|
|
|
if(!o.quiet && multiple_sections) { |
|
|
|
|
std::cout << '\n'; |
|
|
|
|
} |
|
|
|
|
@ -657,6 +658,26 @@ bool print_file_info(const extract_options & o, const setup::info & info) {
|
|
|
|
|
std::cout << '\n'; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (o.list_components) { |
|
|
|
|
if (multiple_sections) { |
|
|
|
|
std::cout << "Components:\n"; |
|
|
|
|
} |
|
|
|
|
BOOST_FOREACH(const setup::component_entry & component, info.components) { |
|
|
|
|
std::cout << " - " << color::green << component.name << color::reset; |
|
|
|
|
if (!component.description.empty()) { |
|
|
|
|
std::cout << ": " << color::white << component.description << color::reset; |
|
|
|
|
} |
|
|
|
|
std::cout << '\n'; |
|
|
|
|
} |
|
|
|
|
if (info.components.empty()) { |
|
|
|
|
std::cout << " (none)\n"; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if ((o.silent || !o.quiet) && multiple_sections) { |
|
|
|
|
std::cout << '\n'; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if(o.gog_game_id) { |
|
|
|
|
std::string id = gog::get_game_id(info); |
|
|
|
|
@ -952,6 +973,9 @@ void process_file(const fs::path & installer, const extract_options & o) {
|
|
|
|
|
if(o.list_languages) { |
|
|
|
|
entries |= setup::info::Languages; |
|
|
|
|
} |
|
|
|
|
if(o.list_components) { |
|
|
|
|
entries |= setup::info::Components; |
|
|
|
|
} |
|
|
|
|
if(o.gog_game_id || o.gog) { |
|
|
|
|
entries |= setup::info::RegistryEntries; |
|
|
|
|
} |
|
|
|
|
@ -992,7 +1016,7 @@ void process_file(const fs::path & installer, const extract_options & o) {
|
|
|
|
|
throw format_error(oss.str()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if(o.gog_galaxy && (o.list || o.test || o.extract || o.list_languages)) { |
|
|
|
|
if(o.gog_galaxy && (o.list || o.test || o.extract || o.list_languages || o.list_components)) { |
|
|
|
|
gog::parse_galaxy_files(info, o.gog); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|