From afb53e9022d4731d51d5bfacb6721e71c7f749e5 Mon Sep 17 00:00:00 2001 From: Niklas Kapelle Date: Sun, 1 Mar 2026 23:19:26 +0100 Subject: [PATCH] updated wip main --- src/main.rs | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/src/main.rs b/src/main.rs index f5ba661..b29e5bf 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,6 +3,8 @@ use std::{error::Error, path::Path}; use crate::{ basic_types::{ModConfig, ModFile, ModdedInstance, RootConfig}, fomod::Config, + linker::{link_game_to_target, link_instance_to_target}, + load_order::LoadOrder, mod_config_installer::FomodInstaller, }; @@ -10,6 +12,8 @@ mod basic_types; mod conflict_resolver; mod fomod; mod install_prompt; +mod linker; +mod load_order; mod mod_config_installer; mod utils; @@ -43,15 +47,29 @@ pub fn gen_filelist_for_mod( fn main() -> Result<(), Box> { let root_config = RootConfig::load_from_file("./data/example.toml")?; - let mut new_instance = ModdedInstance::new("My Instance"); + // let mut new_instance = ModdedInstance::new("My Instance"); + // let mod_to_install = root_config.get_mod_by_id("ineed").unwrap(); + // let new_files = gen_filelist_for_mod(&root_config, &new_instance, &mod_to_install)?; + // new_instance.add_mod(&mod_to_install, 0, &new_files); + // new_instance.save_to_file("./data/my_instance.toml")?; - let mod_to_install = root_config.get_mod_by_id("ineed").unwrap(); + let modded_instance = ModdedInstance::load_from_file("./data/my_instance.toml")?; - let new_files = gen_filelist_for_mod(&root_config, &new_instance, &mod_to_install)?; + link_game_to_target( + &root_config.games.first().unwrap().install_location, + "./data/target", + )?; + link_instance_to_target(&root_config, &modded_instance, "./data/target")?; - new_instance.add_mod(&mod_to_install, 0, &new_files); + let mut orderer = LoadOrder::new( + &root_config.games.first().unwrap().install_location, + libloot::GameType::SkyrimSE, + )?; - new_instance.save_to_file("./data/my_instance.toml")?; + orderer.add_plugins_from_install()?; + orderer.add_plugins_from_instance(&root_config, &modded_instance)?; + + orderer.load_order()?; Ok(()) }