version(2);
project_name = "The RAD Debugger";

indent_width = "2";
default_tab_width = "2";

patterns =
{
  "*.c",
  "*.cpp",
  "*.h",
  "*.inc",
  "*.hpp",
  "*.bat",
  "*.sh",
  "*.4coder",
  "*.glsl",
  "*.bfs",
  "*.html",
  "*.txt",
  "*.md",
  "*.mdesk",
  "*.asm",
};

blacklist_patterns =
{
  ".*",
  "metagen_base_*",
  "metagen_os_*",
};

paths =
{
  { .path = ".",     .recursive = false, .relative = true, },
  { .path = "src",   .recursive = true , .relative = true, },
  { .path = "local", .recursive = true , .relative = true, },
};

load_paths =
{
  .win = paths,
  .linux = paths,
};

commands =
{
  .rjf_f1 =
  {
    .win = "build raddbg telemetry",
    .linux = "",
    .out = "*compilation*",
    .footer_panel = true,
    .save_dirty_files = true,
    .cursor_at_end = false,
  },
  .rjf_f2 =
  {
    .win = "build mule_peb_trample",
    .linux = "",
    .out = "*compilation*",
    .footer_panel = true,
    .save_dirty_files = true,
    .cursor_at_end = false,
  },
  .rjf_f3 =
  {
    .win = "pushd build && raddbg.exe --user:local_dev.raddbg_user --project:local_dev.raddbg_project && popd",
    .linux = "",
    .out = "*compilation*",
    .footer_panel = true,
    .save_dirty_files = true,
    .cursor_at_end = false,
  },
  .rjf_f4 =
  {
    .win = "build rdi_from_pdb release telemetry && pushd build && rdi_from_pdb.exe --exe:UnrealEditorFortnite.exe --pdb:UnrealEditorFortnite.pdb --out:UnrealEditorFortnite.rdi --capture && popd",
    .linux = "",
    .out = "*compilation*",
    .footer_panel = true,
    .save_dirty_files = true,
    .cursor_at_end = false,
  },
  .rjf_f5 =
  {
    .win = "pushd build && rdi_from_pdb.exe --exe:raddbg.exe --pdb:raddbg.pdb --out:raddbg.rdi --capture && popd",
    .linux = "",
    .out = "*compilation*",
    .footer_panel = true,
    .save_dirty_files = true,
    .cursor_at_end = false,
  },
  .build_raddbg =
  {
    .win = "build raddbg",
    .linux = "",
    .out = "*compilation*",
    .footer_panel = true,
    .save_dirty_files = true,
    .cursor_at_end = false,
  },
  .build_raddbg_release_telemetry =
  {
    .win = "build raddbg release telemetry",
    .linux = "",
    .out = "*compilation*",
    .footer_panel = true,
    .save_dirty_files = true,
    .cursor_at_end = false,
  },
  .build_rdi_from_pdb =
  {
    .win = "build rdi_from_pdb",
    .linux = "",
    .out = "*compilation*",
    .footer_panel = true,
    .save_dirty_files = true,
    .cursor_at_end = false,
  },
  .build_rdi_dump =
  {
    .win = "build rdi_dump",
    .linux = "",
    .out = "*compilation*",
    .footer_panel = true,
    .save_dirty_files = true,
    .cursor_at_end = false,
  },
  .build_mule_main =
  {
    .win = "build mule_main",
    .linux = "",
    .out = "*compilation*",
    .footer_panel = true,
    .save_dirty_files = true,
    .cursor_at_end = false,
  },
  .build_ryan_scratch =
  {
    .win = "build ryan_scratch",
    .linux = "",
    .out = "*compilation*",
    .footer_panel = true,
    .save_dirty_files = true,
    .cursor_at_end = false,
  },
  .run_raddbg =
  {
    .win = "pushd build && raddbg.exe && popd",
    .linux = "",
    .out = "*compilation*",
    .footer_panel = true,
    .save_dirty_files = true,
    .cursor_at_end = false,
  },
};

fkey_command =
{
  .F1 = "build_raddbg",
  .F3 = "run_raddbg",
};

fkey_command_override =
{
  .rjf =
  {
    .F1 = "rjf_f1",
    .F2 = "rjf_f2",
    .F3 = "rjf_f3",
    .F4 = "rjf_f4",
    .F5 = "rjf_f5",
  },
};
