mirror of
https://github.com/citra-emu/citra.git
synced 2024-11-30 06:50:06 +00:00
Do logging correctly
This commit is contained in:
parent
01697410dd
commit
a47dacfdd0
@ -91,6 +91,7 @@ enum class Class : ClassType {
|
|||||||
Loader, ///< ROM loader
|
Loader, ///< ROM loader
|
||||||
Input, ///< Input emulation
|
Input, ///< Input emulation
|
||||||
Network, ///< Network emulation
|
Network, ///< Network emulation
|
||||||
|
ScriptedInput, ///< Scripted Input
|
||||||
WebService, ///< Interface to Citra Web Services
|
WebService, ///< Interface to Citra Web Services
|
||||||
Count ///< Total number of logging classes
|
Count ///< Total number of logging classes
|
||||||
};
|
};
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
// Refer to the license.txt file included.
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
#include <glad/glad.h>
|
#include <glad/glad.h>
|
||||||
|
#include "common/logging/log.h"
|
||||||
#include "scripted_input/script_runner.h"
|
#include "scripted_input/script_runner.h"
|
||||||
#include "scripted_input/scripted_buttons.h"
|
#include "scripted_input/scripted_buttons.h"
|
||||||
|
|
||||||
@ -15,10 +16,9 @@ void ScriptRunner::SetButtons(std::shared_ptr<ScriptedButtons> buttons) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void ScriptRunner::LoadScript(std::string script_name) {
|
void ScriptRunner::LoadScript(std::string script_name) {
|
||||||
//TODO: Load from a file specified in config
|
|
||||||
FILE* file = fopen(script_name.c_str(), "r");
|
FILE* file = fopen(script_name.c_str(), "r");
|
||||||
if (!file) {
|
if (!file) {
|
||||||
//TODO: Log error
|
LOG_ERROR(ScriptedInput, "script_file %s does not exist", script_name.c_str());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -52,7 +52,7 @@ void ScriptRunner::LoadScript(std::string script_name) {
|
|||||||
item.type = ScriptItemType::Run;
|
item.type = ScriptItemType::Run;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
//TODO: Parse error
|
LOG_ERROR(ScriptedInput, "Unable to parse line %i of script file", lineno);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -63,7 +63,7 @@ void ScriptRunner::LoadScript(std::string script_name) {
|
|||||||
item.buttons_active.push_back(index);
|
item.buttons_active.push_back(index);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
//TODO: Parse error
|
LOG_ERROR(ScriptedInput, "Unable to parse line %i, button %s is unknown", lineno, pch);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
pch = strtok(NULL, " ,.-");
|
pch = strtok(NULL, " ,.-");
|
||||||
@ -82,27 +82,23 @@ void ScriptRunner::NotifyFrameFinished() {
|
|||||||
|
|
||||||
//Script already finished
|
//Script already finished
|
||||||
if (script_index >= script.size()) {
|
if (script_index >= script.size()) {
|
||||||
//printf("already done\n");
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
//If we're done with the current item, move to the next
|
//If we're done with the current item, move to the next
|
||||||
script_frame++;
|
script_frame++;
|
||||||
if (script_frame == script[script_index].frames) {
|
if (script_frame == script[script_index].frames) {
|
||||||
printf("At frame %i, progressing to index %i\n", frame_number, script_index + 1);
|
|
||||||
script_frame = 0;
|
script_frame = 0;
|
||||||
script_index++;
|
script_index++;
|
||||||
|
|
||||||
//take screenshots if we hit a screenshot item
|
//take screenshots if we hit a screenshot item
|
||||||
while (script_index < script.size() && script[script_index].type == ScriptItemType::Screenshot) {
|
while (script_index < script.size() && script[script_index].type == ScriptItemType::Screenshot) {
|
||||||
//TODO: Screenshot
|
|
||||||
SaveScreenshot();
|
SaveScreenshot();
|
||||||
script_index++;
|
script_index++;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Now we'll be at the next run item, so set the buttons up
|
//Now we'll be at the next run item, so set the buttons up
|
||||||
if (script_index < script.size()) {
|
if (script_index < script.size()) {
|
||||||
printf("changing button\n");
|
|
||||||
scripted_buttons.get()->SetActiveButtons(script[script_index].buttons_active);
|
scripted_buttons.get()->SetActiveButtons(script[script_index].buttons_active);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -34,8 +34,8 @@ int IndexOfButton(const std::string& button) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO: Log an error
|
LOG_ERROR(ScriptedInput, "Don't know about a button named %s", button.c_str());
|
||||||
return -1; //home
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
class ScriptedButton final : public Input::ButtonDevice {
|
class ScriptedButton final : public Input::ButtonDevice {
|
||||||
@ -49,7 +49,6 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
class ScriptedButtonList {
|
class ScriptedButtonList {
|
||||||
//TODO: Do i need to memset(0) buttons?
|
|
||||||
public:
|
public:
|
||||||
ScriptedButton* buttons[button_count];
|
ScriptedButton* buttons[button_count];
|
||||||
};
|
};
|
||||||
@ -89,7 +88,7 @@ void ScriptedButtons::SetActiveButtons(const std::vector<int>& buttons_active) {
|
|||||||
button->status.store(true);
|
button->status.store(true);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
//TODO: Warning that button isn't mapped to scripting
|
LOG_ERROR(ScriptedInput, "Button %s isn't mapped but is scripted, it should have engine:scripted,button:%s", button_name_to_index[i], button_name_to_index[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -37,7 +37,6 @@ bool IsInUse() {
|
|||||||
|
|
||||||
void NotifyFrameFinished() {
|
void NotifyFrameFinished() {
|
||||||
script_runner.NotifyFrameFinished();
|
script_runner.NotifyFrameFinished();
|
||||||
//TODO? scripted_buttons.get()->NotifyFrameFinished();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace ScriptedInput
|
} // namespace ScriptedInput
|
||||||
|
Loading…
Reference in New Issue
Block a user