Skip to content
Open
Changes from 1 commit
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
0f1c74a
Init ModuleMan
MaximDude Jul 13, 2023
78bac76
Preliminary cleanup in PresetMan
MaximDude Jul 13, 2023
fb02e2e
Move disabled mods list form SettingsMan to ModuleMan
MaximDude Jul 13, 2023
43db9cd
VS being stupid about filters for the 9001th time
MaximDude Jul 14, 2023
5f75ded
Move all DataModule handling from PresetMan to ModuleMan and enter hell
MaximDude Jul 14, 2023
401f710
Unclusterfucking (followup to 5f75ded4dcf0a39924c7bdef1e1dbb26433fa48e)
MaximDude Jul 14, 2023
a05875f
Shittily make this compile
MaximDude Jul 14, 2023
4d860b4
Remove a bunch of unnecessary includes
MaximDude Jul 14, 2023
b792f6c
Destroy ModuleMan instead of PresetMan (followup to a05875f9b593de1c1…
MaximDude Jul 14, 2023
65abdbb
Measure module loading time in Main
MaximDude Jul 16, 2023
bc6b276
Expose ModuleMan to Lua
MaximDude Jul 16, 2023
abe564b
Remove ModuleMan::LoadDataModule Lua binding - this is kinda bullshit…
MaximDude Jul 16, 2023
97afdf6
Misc changes in Main arg handling
MaximDude Jul 16, 2023
d026aff
More unclusterfucking (followup to 5f75ded4dcf0a39924c7bdef1e1dbb2643…
MaximDude Jul 16, 2023
01096e2
Forgot to actually register ModuleMan in master state (followup to bc…
MaximDude Jul 16, 2023
00c8b9d
Cleanup, formatting and partial refactor in PresetMan
MaximDude Jul 16, 2023
126d5a2
I accidentally (followup to bc6b276cc788209166e5513278d28a548c97669b)
MaximDude Jul 17, 2023
5773dd5
Simplify PresetMan by group, by type and random Entity list getters -…
MaximDude Jul 17, 2023
895556c
Refactor DataModule type flags - use an enum
MaximDude Jul 18, 2023
f2d7b90
Remove PresetMan TotalGroupRegister - we just get everything we need …
MaximDude Jul 18, 2023
e5c02b8
Don't assign module IDs at DataModule creation - ModuleMan will assig…
MaximDude Jul 18, 2023
8ba00c7
Use DataModuleType instead of separate params in ModuleMan::LoadDataM…
MaximDude Jul 19, 2023
abafd37
Pull loading userdata modules into private method and merge with Data…
MaximDude Jul 19, 2023
4bd9404
Pop the console open if the specified single module to load failed to…
MaximDude Jul 19, 2023
3c375a5
Store loaded modules less stupidly
MaximDude Jul 19, 2023
ca30a46
Don't care about official module count - container is unsorted, just …
MaximDude Jul 19, 2023
8df894c
My diff is a clusterfuck and I have a stack overflow AAAAAAAAAAAAAAAA…
MaximDude Jul 19, 2023
bfa9498
Don't store module ID ContentFile was loaded from - get it from path …
MaximDude Jul 19, 2023
fcccdd6
Call ModuleMan instead of PresetMan where necessary (followup to cort…
MaximDude Jul 19, 2023
64f97ed
Refactor all the ModuleMan things and last bit of unclusterfucking (f…
MaximDude Jul 19, 2023
e15ad77
Add overload for ModuleMan::GetDataModule that gets with name instead…
MaximDude Jul 19, 2023
cd2a70b
PresetMan followup (followup to 64f97edd03a23108a7ad9f5ae9646927d918b…
MaximDude Jul 19, 2023
4f78139
Merge branch 'development' into ModuleMan
MaximDude Jul 19, 2023
57ea9a5
No need to suppress warning 4129 anymore - not using fucky escape seq…
MaximDude Jul 19, 2023
525ff6f
Merge branch 'development' into ModuleMan
MaximDude Jul 23, 2023
ca33886
Don't need ClassName because this doesn't get serialized
MaximDude Jul 23, 2023
aa243de
Use unordered set for disabled module names
MaximDude Jul 23, 2023
e862789
Misc organization
MaximDude Jul 23, 2023
b3da7d8
Handle loading and unloading modules at runtime
MaximDude Jul 27, 2023
0367930
Always repopulate faction comboboxes when Activity config GUI is enab…
MaximDude Jul 27, 2023
b4981bc
Merge branch 'development' into ModuleMan
Causeless Dec 31, 2023
4399314
Fixed crash on load
Causeless Dec 31, 2023
3af3a7f
Merge branch 'development' into ModuleMan-Followup
Causeless Dec 31, 2023
c1cdba2
Merge branch 'development' into ModuleMan
Causeless Jan 1, 2024
fa53af4
Merge remote-tracking branch 'source/ModuleMan' into ModuleMan
traunts Jan 2, 2024
95ade2a
Merge remote-tracking branch 'data/ModuleMan-Followup' into ModuleMan
traunts Jan 2, 2024
c8e435c
Merge branch 'development' into ModuleMan
traunts Jan 2, 2024
bb44c24
Merge branch 'development' into ModuleMan
Causeless Jan 5, 2024
f1f8225
Fixed ModuleMan not being source-directorified
Causeless Jan 5, 2024
ed6dbb3
Merge branch 'development' into ModuleMan
Causeless Jan 6, 2024
d0502b5
Fix meson build
Causeless Jan 6, 2024
d5e1b7b
Merge branch 'development' into ModuleMan
Causeless Jan 12, 2024
d1bb123
Merge branch 'development' into ModuleMan
Causeless Jan 20, 2024
6c5b616
format
HeliumAnt Jan 20, 2024
f99da86
Merge branch 'development' into ModuleMan
HeliumAnt Jan 20, 2024
6607e12
fix eof newlines
HeliumAnt Jan 20, 2024
f701bc2
apply doxygen
HeliumAnt Jan 20, 2024
fc209ee
Merge branch 'development' into ModuleMan
HeliumAnt Jan 20, 2024
41b13ff
Merge branch 'development' into ModuleMan
Causeless Jan 21, 2024
a759999
Merge branch 'development' into ModuleMan
Causeless Jan 21, 2024
3e5b51f
Merge branch 'development' into ModuleMan
Causeless Jan 21, 2024
ee47749
Merge branch 'development' into ModuleMan
Causeless Jan 21, 2024
f874dc9
re-run clang format
Causeless Jan 21, 2024
6f1e499
Merge branch 'development' into ModuleMan
Causeless Jan 21, 2024
0c5eb07
Merge branch 'development' into ModuleMan
Causeless Jan 22, 2024
f8bc79c
Fixed build
Causeless Jan 22, 2024
c13eb3d
Changed ModuleMan.cpp to use "using namespace RTE;" instead of nesting
Causeless Jan 22, 2024
fa0652b
Merge branch 'development' into ModuleMan
Causeless Jan 22, 2024
5deb46c
Merge branch 'development' into ModuleMan
Causeless Jan 22, 2024
61917e9
Reformatted ModuleMan.cpp
Causeless Jan 22, 2024
2d5ed04
Merge branch 'development' into ModuleMan
Causeless Feb 13, 2024
6159a91
Added missing include
Causeless Feb 13, 2024
2355a15
Fixed meson
Causeless Feb 13, 2024
3f2986f
Merge branch 'development' into ModuleMan
Causeless Aug 17, 2024
6921f78
Merge branch 'development' into ModuleMan
Causeless Aug 17, 2024
f46af36
Fixed crash that could occur if disabling a mod mid-session (like you…
Causeless Aug 17, 2024
56d4892
Correctly update module name / description after loading
Causeless Aug 17, 2024
fce0a87
Updated changelog
Causeless Aug 17, 2024
40162d1
Merge branch 'development' into ModuleMan
Causeless Sep 11, 2024
57ecb85
Merge branch 'development' into ModuleMan
Causeless Nov 15, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Reformatted ModuleMan.cpp
  • Loading branch information
Causeless committed Jan 22, 2024
commit 61917e944523b382f602c05a843aaea7c68aff4d
52 changes: 26 additions & 26 deletions Source/Managers/ModuleMan.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ using namespace RTE;

const std::array<std::string, 10> ModuleMan::c_OfficialModules = {"Base.rte", "Coalition.rte", "Imperatus.rte", "Techion.rte", "Dummy.rte", "Ronin.rte", "Browncoats.rte", "Uzira.rte", "MuIlaak.rte", "Missions.rte"};
const std::array<std::pair<std::string, std::string>, 3> ModuleMan::c_UserdataModules = {{{c_UserScenesModuleName, "User Scenes"},
{c_UserConquestSavesModuleName, "Conquest Saves"},
{c_UserScriptedSavesModuleName, "Scripted Activity Saves"}}};
{c_UserConquestSavesModuleName, "Conquest Saves"},
{c_UserScriptedSavesModuleName, "Scripted Activity Saves"}}};

void ModuleMan::Clear() {
m_LoadedDataModules.clear();
Expand All @@ -30,23 +30,23 @@ void ModuleMan::Destroy() {

bool ModuleMan::IsModuleEnabled(const std::string_view& moduleName) const {
return std::none_of(m_DisabledDataModuleNames.begin(), m_DisabledDataModuleNames.end(),
[&moduleName](const std::string_view& disabledModuleName) {
return disabledModuleName == moduleName;
});
[&moduleName](const std::string_view& disabledModuleName) {
return disabledModuleName == moduleName;
});
}

bool ModuleMan::IsModuleOfficial(const std::string_view& moduleName) const {
return std::any_of(c_OfficialModules.begin(), c_OfficialModules.end(),
[&moduleName](const std::string_view& officialModuleName) {
return officialModuleName == moduleName;
});
[&moduleName](const std::string_view& officialModuleName) {
return officialModuleName == moduleName;
});
}

bool ModuleMan::IsModuleUserdata(const std::string_view& moduleName) const {
return std::any_of(c_UserdataModules.begin(), c_UserdataModules.end(),
[&moduleName](const std::pair<std::string_view, std::string_view>& userdataModuleEntry) {
return userdataModuleEntry.first == moduleName;
});
[&moduleName](const std::pair<std::string_view, std::string_view>& userdataModuleEntry) {
return userdataModuleEntry.first == moduleName;
});
}

DataModule* ModuleMan::GetDataModule(int whichModule) {
Expand All @@ -55,9 +55,9 @@ DataModule* ModuleMan::GetDataModule(int whichModule) {
}

auto loadedModulesItr = std::find_if(m_LoadedDataModules.begin(), m_LoadedDataModules.end(),
[&whichModule](const auto& loadedModuleEntry) {
return loadedModuleEntry.first == whichModule;
});
[&whichModule](const auto& loadedModuleEntry) {
return loadedModuleEntry.first == whichModule;
});
return (*loadedModulesItr).second;
}

Expand All @@ -67,9 +67,9 @@ int ModuleMan::GetModuleID(const std::string_view& moduleName) const {
}

auto loadedModulesItr = std::find_if(m_LoadedDataModules.begin(), m_LoadedDataModules.end(),
[&moduleName](const auto& loadedModuleEntry) {
return loadedModuleEntry.second->GetFileName() == moduleName;
});
[&moduleName](const auto& loadedModuleEntry) {
return loadedModuleEntry.second->GetFileName() == moduleName;
});
return (loadedModulesItr != m_LoadedDataModules.end()) ? (*loadedModulesItr).first : -1;
}

Expand Down Expand Up @@ -131,9 +131,9 @@ bool ModuleMan::LoadDataModule(const std::string& moduleName, DataModule::DataMo
return true;
} else if (moduleType == DataModule::DataModuleType::Unofficial) {
auto unloadedModulesItr = std::find_if(m_UnloadedDataModules.begin(), m_UnloadedDataModules.end(),
[&moduleName](const auto& unloadedModuleEntry) {
return unloadedModuleEntry.second->GetFileName() == moduleName;
});
[&moduleName](const auto& unloadedModuleEntry) {
return unloadedModuleEntry.second->GetFileName() == moduleName;
});
if (unloadedModulesItr != m_UnloadedDataModules.end()) {
m_LoadedDataModules.emplace(*unloadedModulesItr);
m_UnloadedDataModules.erase(unloadedModulesItr);
Expand All @@ -158,9 +158,9 @@ bool ModuleMan::LoadDataModule(const std::string& moduleName, DataModule::DataMo
bool ModuleMan::UnloadDataModule(const std::string& moduleName) {
if (!IsModuleOfficial(moduleName) && !IsModuleUserdata(moduleName)) {
auto loadedModulesItr = std::find_if(m_LoadedDataModules.begin(), m_LoadedDataModules.end(),
[&moduleName](const auto& loadedModuleEntry) {
return loadedModuleEntry.second->GetFileName() == moduleName;
});
[&moduleName](const auto& loadedModuleEntry) {
return loadedModuleEntry.second->GetFileName() == moduleName;
});

if (loadedModulesItr != m_LoadedDataModules.end()) {
m_UnloadedDataModules.emplace(*loadedModulesItr);
Expand Down Expand Up @@ -228,9 +228,9 @@ void ModuleMan::LoadUnofficialModules() {
std::vector<std::filesystem::directory_entry> modDirectoryFolders;
const std::string modDirectory = System::GetWorkingDirectory() + System::GetModDirectory();
std::copy_if(std::filesystem::directory_iterator(modDirectory), std::filesystem::directory_iterator(), std::back_inserter(modDirectoryFolders),
[](auto dirEntry) {
return std::filesystem::is_directory(dirEntry);
});
[](auto dirEntry) {
return std::filesystem::is_directory(dirEntry);
});
std::sort(modDirectoryFolders.begin(), modDirectoryFolders.end());

for (const std::filesystem::directory_entry& directoryEntry: modDirectoryFolders) {
Expand Down