yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
user_settings.h
Go to the documentation of this file.
1#ifndef YAZE_APP_EDITOR_SYSTEM_USER_SETTINGS_H_
2#define YAZE_APP_EDITOR_SYSTEM_USER_SETTINGS_H_
3
4#include <string>
5#include "absl/status/status.h"
6
7namespace yaze {
8namespace editor {
9
14 public:
15 struct Preferences {
16 // General
17 float font_global_scale = 1.0f;
18 bool backup_rom = false;
19 bool save_new_auto = true;
20 bool autosave_enabled = true;
21 float autosave_interval = 300.0f;
23 std::string last_rom_path;
24 std::string last_project_path;
27
28 // Editor Behavior
29 bool backup_before_save = true;
30 int default_editor = 0; // 0=None, 1=Overworld, 2=Dungeon, 3=Graphics
31
32 // Performance
33 bool vsync = true;
34 int target_fps = 60;
35 int cache_size_mb = 512;
37
38 // AI Agent
39 int ai_provider = 0; // 0=Ollama, 1=Gemini, 2=Mock
40 std::string ollama_url = "http://localhost:11434";
41 std::string gemini_api_key;
42 float ai_temperature = 0.7f;
43 int ai_max_tokens = 2048;
44 bool ai_proactive = true;
45 bool ai_auto_learn = true;
46 bool ai_multimodal = true;
47
48 // CLI Logging
49 int log_level = 1; // 0=Debug, 1=Info, 2=Warning, 3=Error, 4=Fatal
50 bool log_to_file = false;
51 std::string log_file_path;
52 bool log_ai_requests = true;
53 bool log_rom_operations = true;
54 bool log_gui_automation = true;
55 bool log_proposals = true;
56 };
57
59
60 absl::Status Load();
61 absl::Status Save();
62
63 Preferences& prefs() { return prefs_; }
64 const Preferences& prefs() const { return prefs_; }
65
66 private:
69};
70
71} // namespace editor
72} // namespace yaze
73
74#endif // YAZE_APP_EDITOR_SYSTEM_USER_SETTINGS_H_
Manages user preferences and settings persistence.
const Preferences & prefs() const
Main namespace for the application.