Skip to content

About

No description, website, or topics provided.

Resources

Stars

18 stars

Watchers

2 watching

Forks

Latest commit

 

History

327 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FOMOD Plus for Mod Organizer 2

wizard

Overview

A total rewrite of the FOMOD installer. Supports all features of the original FOMOD installer, and adds a few new ones.

Features

  • Highlight previously selected options.
  • Select previously installed options (where feasible).
  • Filter by mods installed via FOMOD. Pic
  • A Scanner plugin to retroactively mark mods as FOMOD-installed where possible. Pic
  • A nice wizard hat in the content column to indicate the mod was installed via FOMOD. Pic
  • Window sizes and splitter positions persist between mod installs.
  • FOMOD installer window won't block the main MO2 window. No more quitting the installer to check if you installed A, B, or C.
  • Optimized image viewer

How to Install

  1. Unzip the latest release into your MO2 plugins directory.
  2. If running for the first time, use the scanner to populate your mods.
  3. Install FOMODs as normal and enjoy the new features.

Future Plans

Since this is a WIP and barely in alpha stages, expect some bugs as things progress. Some of my plans, roughly ordered, include:

  • Searchable installation notes (manual input and automatic)
  • Introduce new optional features to the FOMOD XML schema to allow more fun~.

TODO: Icons for each heading

Troubleshooting

FAQ

Tech stuff below


Developing

Development of this plugin is done within the context of mob. You'll want to follow all setup instructions for mob before proceeding.

  1. Set up mob and all of its requirements.
  2. Clone this repository inside the generated <rootDir>/build/modorganizer-super directory.
  3. Open in your IDE of choice. I prefer CLion and it should be fairly painless.

Note: I don't have a good setup for building to DLLs within the repo at the moment.

Environment Variables

I recommend setting the following system environment variables to make building super seamless:

Variable Example Value
Qt6_DIR C:\Qt\6.7.1\msvc2019_64\lib\cmake

The project is divided into two targets, fomod_plus_installer and fomod_plus_scanner. Hopefully the distinction is self-explanatory.

Using vcpkg

This repo includes vcpkg.json + vcpkg-configuration.json pointing at the MO2 registry. With VCPKG_ROOT set and Qt installed locally (Qt is not pulled via vcpkg), you can configure using the vcpkg preset:

cmake --preset vs2022-windows-vcpkg
cmake --build vsbuild-vcpkg --config RelWithDebInfo --target package

That preset expects the standard triplet x64-windows and uses the vcpkg toolchain at %VCPKG_ROOT%. It installs the built DLLs to D:/Modding/Mod.Organizer-2.5.3beta2/plugins and packages outputs under package/.

Presets

  • vs2022-windows — builds against an existing MO2 super checkout (set DEPENDENCIES_DIR) and installs to D:/Modding/MO2/plugins.
  • vs2022-windows-beta — targets the MO2 2.5.3 beta sources at D:/Mod.Organizer-2.5.3beta2-src and installs to D:/Modding/Mod.Organizer-2.5.3beta2/plugins.
  • vs2022-windows-vcpkg — fetches MO2 dependencies via vcpkg (MO2 registry), still requires Qt installed locally, installs to D:/Modding/Mod.Organizer-2.5.3beta2/plugins.
Technical Reasons

MO2 plugin architecture doesn't support providing multiple C++ plugins in one target. Even if it could, FomodPlusScanner implements IPluginTool which conflicts in inheritence with IPluginInstaller.

Sorry for the headache!

Debugging

To debug:

  1. Make sure you are debugging the fomod_plus_installer target (unless you're debugging the scanner).
  2. Set your target executable to the MO2 executable inside <mobDir>/install/bin.

NOTE Inside CMakeLists.txt you'll see a pair of lines like this:

#set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO ${CMAKE_CURRENT_LIST_DIR}/../../../install/bin/plugins)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "D:/Modding/MO2/plugins")

for some reason on my main PC I can't use the mob-built MO2 instance to debug without a lot of exceptions. This is not the case on my laptop. So if you get lots of exceptions pointing to the mob dev build, try changing the hardcoded path in that second line to your real MO2 instance.

NOTE

MO2 upstream dependencies have started migrating to VCPKG and have different builds and sources vs 2.5.2. As such, have to do some very odd/painful workarounds to build against the stable release. Inside CMakePresets.json there's the DEPENDENCIES_DIR variable which you should point to the 2.5.2 sources directory you can download from the MO2 github releases page.

https://github.com/ModOrganizer2/modorganizer/releases/tag/v2.5.2

They've also consolidated game_gamebryo to this repo.

License

This project is licensed under the MIT License.

Attribution

Much love and appreciation to the authors of the original FOMOD installer. Source can be read here if curious. Early development of this plugin was heavily influenced by the original codebase, and certain classes were lifted almost entirely from the original (with modifications and attribution in the file).

Witch icons created by Umeicon - Flaticon

About

No description, website, or topics provided.

Resources

Stars

18 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages