citra: Update SDL frontend

This commit is contained in:
zhupengfei 2020-07-07 19:24:44 +08:00
parent fb14bd956a
commit b6f8cc884f
No known key found for this signature in database
GPG Key ID: DD129E108BD09378

View File

@ -66,6 +66,7 @@ static void PrintHelp(const char* argv0) {
"-m, --multiplayer=nick:password@address:port" "-m, --multiplayer=nick:password@address:port"
" Nickname, password, address and port for multiplayer\n" " Nickname, password, address and port for multiplayer\n"
"-r, --movie-record=[file] Record a movie (game inputs) to the given file\n" "-r, --movie-record=[file] Record a movie (game inputs) to the given file\n"
"-a, --movie-record-author=AUTHOR Sets the author of the movie to be recorded\n"
"-p, --movie-play=[file] Playback the movie (game inputs) from the given file\n" "-p, --movie-play=[file] Playback the movie (game inputs) from the given file\n"
"-d, --dump-video=[file] Dumps audio and video to the given video file\n" "-d, --dump-video=[file] Dumps audio and video to the given video file\n"
"-f, --fullscreen Start in fullscreen mode\n" "-f, --fullscreen Start in fullscreen mode\n"
@ -192,6 +193,7 @@ int main(int argc, char** argv) {
bool use_gdbstub = Settings::values.use_gdbstub; bool use_gdbstub = Settings::values.use_gdbstub;
u32 gdb_port = static_cast<u32>(Settings::values.gdbstub_port); u32 gdb_port = static_cast<u32>(Settings::values.gdbstub_port);
std::string movie_record; std::string movie_record;
std::string movie_record_author;
std::string movie_play; std::string movie_play;
std::string dump_video; std::string dump_video;
@ -217,11 +219,17 @@ int main(int argc, char** argv) {
u16 port = Network::DefaultRoomPort; u16 port = Network::DefaultRoomPort;
static struct option long_options[] = { static struct option long_options[] = {
{"gdbport", required_argument, 0, 'g'}, {"install", required_argument, 0, 'i'}, {"gdbport", required_argument, 0, 'g'},
{"multiplayer", required_argument, 0, 'm'}, {"movie-record", required_argument, 0, 'r'}, {"install", required_argument, 0, 'i'},
{"movie-play", required_argument, 0, 'p'}, {"dump-video", required_argument, 0, 'd'}, {"multiplayer", required_argument, 0, 'm'},
{"fullscreen", no_argument, 0, 'f'}, {"help", no_argument, 0, 'h'}, {"movie-record", required_argument, 0, 'r'},
{"version", no_argument, 0, 'v'}, {0, 0, 0, 0}, {"movie-record-author", required_argument, 0, 'a'},
{"movie-play", required_argument, 0, 'p'},
{"dump-video", required_argument, 0, 'd'},
{"fullscreen", no_argument, 0, 'f'},
{"help", no_argument, 0, 'h'},
{"version", no_argument, 0, 'v'},
{0, 0, 0, 0},
}; };
while (optind < argc) { while (optind < argc) {
@ -285,6 +293,9 @@ int main(int argc, char** argv) {
case 'r': case 'r':
movie_record = optarg; movie_record = optarg;
break; break;
case 'a':
movie_record_author = optarg;
break;
case 'p': case 'p':
movie_play = optarg; movie_play = optarg;
break; break;
@ -401,10 +412,14 @@ int main(int argc, char** argv) {
} }
if (!movie_play.empty()) { if (!movie_play.empty()) {
auto metadata = Core::Movie::GetInstance().GetMovieMetadata(movie_play);
LOG_INFO(Movie, "Author: {}", metadata.author);
LOG_INFO(Movie, "Rerecord count: {}", metadata.rerecord_count);
LOG_INFO(Movie, "Input count: {}", metadata.input_count);
Core::Movie::GetInstance().StartPlayback(movie_play); Core::Movie::GetInstance().StartPlayback(movie_play);
} }
if (!movie_record.empty()) { if (!movie_record.empty()) {
Core::Movie::GetInstance().StartRecording(movie_record); Core::Movie::GetInstance().StartRecording(movie_record, movie_record_author);
} }
if (!dump_video.empty()) { if (!dump_video.empty()) {
Layout::FramebufferLayout layout{ Layout::FramebufferLayout layout{