mirror of https://git.suyu.dev/suyu/suyu
input_common/tas: overwrite file dialog
This commit is contained in:
parent
f078b15565
commit
9bb6580d89
|
@ -102,7 +102,7 @@ void Tas::LoadTasFile(size_t player_index) {
|
|||
LOG_INFO(Input, "TAS file loaded! {} frames", frame_no);
|
||||
}
|
||||
|
||||
void Tas::WriteTasFile() {
|
||||
void Tas::WriteTasFile(std::string file_name) {
|
||||
std::string output_text;
|
||||
for (size_t frame = 0; frame < record_commands.size(); frame++) {
|
||||
if (!output_text.empty()) {
|
||||
|
@ -113,7 +113,7 @@ void Tas::WriteTasFile() {
|
|||
WriteCommandAxis(line.l_axis) + " " + WriteCommandAxis(line.r_axis);
|
||||
}
|
||||
const size_t bytes_written = Common::FS::WriteStringToFile(
|
||||
Common::FS::GetYuzuPathString(Common::FS::YuzuPath::TASDir) + "record.txt",
|
||||
Common::FS::GetYuzuPathString(Common::FS::YuzuPath::TASDir) + file_name,
|
||||
Common::FS::FileType::TextFile, output_text);
|
||||
if (bytes_written == output_text.size()) {
|
||||
LOG_INFO(Input, "TAS file written to file!");
|
||||
|
@ -189,18 +189,8 @@ void Tas::UpdateThread() {
|
|||
if (is_recording) {
|
||||
record_commands.push_back(last_input);
|
||||
}
|
||||
if (!is_recording && !record_commands.empty()) {
|
||||
WriteTasFile();
|
||||
needs_reset = true;
|
||||
refresh_tas_fle = true;
|
||||
record_commands.clear();
|
||||
}
|
||||
if (needs_reset) {
|
||||
current_command = 0;
|
||||
if (refresh_tas_fle) {
|
||||
LoadTasFiles();
|
||||
refresh_tas_fle = false;
|
||||
}
|
||||
needs_reset = false;
|
||||
LoadTasFiles();
|
||||
LOG_DEBUG(Input, "tas_reset done");
|
||||
|
@ -306,10 +296,8 @@ void Tas::Reset() {
|
|||
needs_reset = true;
|
||||
}
|
||||
|
||||
void Tas::Record() {
|
||||
bool Tas::Record() {
|
||||
is_recording = !is_recording;
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
return is_recording;
|
||||
}
|
||||
|
||||
|
@ -326,7 +314,6 @@ void Tas::SaveRecording(bool overwrite_file) {
|
|||
}
|
||||
needs_reset = true;
|
||||
record_commands.clear();
|
||||
>>>>>>> 773d268db (config: disable pause on load)
|
||||
}
|
||||
|
||||
InputCommon::ButtonMapping Tas::GetButtonMappingForDevice(
|
||||
|
|
|
@ -68,7 +68,8 @@ public:
|
|||
|
||||
void StartStop();
|
||||
void Reset();
|
||||
void Record();
|
||||
bool Record();
|
||||
void SaveRecording(bool overwrite_file);
|
||||
|
||||
/**
|
||||
* Returns the current status values of TAS playback/recording
|
||||
|
@ -90,7 +91,7 @@ private:
|
|||
};
|
||||
void LoadTasFiles();
|
||||
void LoadTasFile(size_t player_index);
|
||||
void WriteTasFile();
|
||||
void WriteTasFile(std::string file_name);
|
||||
TasAnalog ReadCommandAxis(const std::string& line) const;
|
||||
u32 ReadCommandButtons(const std::string& line) const;
|
||||
std::string WriteCommandButtons(u32 data) const;
|
||||
|
@ -106,7 +107,6 @@ private:
|
|||
|
||||
size_t script_length{0};
|
||||
std::array<TasData, PLAYER_NUMBER> tas_data;
|
||||
bool refresh_tas_fle{false};
|
||||
bool is_recording{false};
|
||||
bool is_running{false};
|
||||
bool needs_reset{false};
|
||||
|
|
|
@ -1027,7 +1027,16 @@ void GMainWindow::InitializeHotkeys() {
|
|||
connect(hotkey_registry.GetHotkey(main_window, QStringLiteral("TAS Reset"), this),
|
||||
&QShortcut::activated, this, [&] { input_subsystem->GetTas()->Reset(); });
|
||||
connect(hotkey_registry.GetHotkey(main_window, QStringLiteral("TAS Record"), this),
|
||||
&QShortcut::activated, this, [&] { input_subsystem->GetTas()->Record(); });
|
||||
&QShortcut::activated, this, [&] {
|
||||
bool is_recording = input_subsystem->GetTas()->Record();
|
||||
if (!is_recording) {
|
||||
QMessageBox::StandardButton reply;
|
||||
reply = QMessageBox::question(this, tr("TAS Recording"),
|
||||
tr("Overwrite file of player 1?"),
|
||||
QMessageBox::Yes | QMessageBox::No);
|
||||
input_subsystem->GetTas()->SaveRecording(reply == QMessageBox::Yes);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void GMainWindow::SetDefaultUIGeometry() {
|
||||
|
|
Loading…
Reference in New Issue