AzureGem
9f9a41c768
Do not load plugins before performing checks
...
Modify the logic to perform all checks before proceeding to load the assembly and create an instance of the plugin
- Removed `bool preloaded` in exchange to a `null` check in `pluginDef`.
- Moved all checks into a common place before loading the assembly and before creating an instance.
- Applicable Version check
- Dalamud API check
- Banned Plugins check
- Checks will only be performed on raw / developer plugins.
- Removed the old banned plugin code since the data is now in `bannedplugins.json`.
All checks in the types foreach is removed since all the checks would had already be performed before then *(Only developer plugins has no pluginDef)*
This should avoid mysterious crashes in future updates without making any major API / behavior changes.
2021-04-17 01:18:36 -04:00
goat
d53bc4b1cb
feat: add support for bannedplugin.json to catch failing plugins
2021-04-12 00:55:36 +02:00
goat
9751a9fed2
feat: up DalamudApiLevel to 3
2021-04-01 23:09:28 +02:00
goat
aca3da09b1
refactor: new code style in PluginManager.cs
2021-04-01 21:11:32 +02:00
Aireil
9e4e4bd865
Fix update behavior for testing and outdated plugins
2021-02-17 10:47:58 +01:00
goaaats
32a72e41f9
Merge pull request #261 from Aireil/add_loaderexceptions
...
Log LoaderException exceptions when loading plugins
2021-02-15 13:30:32 +01:00
Aireil
2e4f11b2ad
Simplify casting of ReflectionTypeLoadException
2021-02-15 13:26:57 +01:00
Aireil
34a1eb0b9c
Log LoaderException exceptions when loading plugins
2021-02-15 13:16:21 +01:00
goat
b2897315b4
fix: ban unsupported SonarPlugin
2021-02-10 15:39:54 +01:00
goat
ca3646b472
feat: also ban fps plugin 1.4.2.0
2021-02-10 03:45:10 +01:00
goat
681ba7f189
feat: ban ping plugin 1.11.0.0
2021-02-10 03:43:11 +01:00
goaaats
e1318155d0
Merge pull request #259 from Aireil/fix_devplugins_load_priority
...
Fix dev plugins loading late regardless of load priority
2021-02-10 02:19:21 +01:00
Aireil
81ec4a27f5
Fix dev plugins loading late regardless of load priority
2021-01-29 23:16:34 +01:00
goat
301cbc12b8
deps: update ImGuiScene
2021-01-22 22:39:42 +01:00
goat
3ee8e02f02
refactor: move Dalamud interface into a class
2021-01-16 18:06:10 +01:00
Liam
87b834abd7
fix: null fix and fix for dev plugins
2021-01-06 01:31:36 -05:00
Liam
feebb03f8c
feat: plugin load priority support in plugin definitions
2021-01-06 00:52:24 -05:00
Aireil
047b411cda
Add a fallback when .disabled file creation fails
2020-12-31 21:17:34 +01:00
goat
67b7dcaf74
feat: list installed plugins separately, also list hidden and dev plugins in installer
2020-12-09 13:43:01 +01:00
Aireil
61e0c059fd
Disable plugins with incompatible API level
2020-12-09 01:49:33 +01:00
goat
04b83f9533
fix: raise DALAMUD_API_LEVEL
2020-12-08 09:06:55 +01:00
goat
d392ee9afa
fix: also load plugins with API level higher than current dalamud
2020-12-03 20:48:08 +01:00
goat
0741da0f7b
fix: correctly check for .testing
2020-10-03 18:04:33 +02:00
goat
e498da8079
fix: add flag for testing plugins, don't load testing plugins if testing is disabled
2020-10-02 20:57:56 +02:00
goat
b7e36fb2e6
refactor: clean up some warnings
2020-08-14 02:34:03 +02:00
goat
a9b388f9de
feat: add PluginLoadReason to plugin interface
2020-07-21 10:32:05 +02:00
goat
ad93b6324f
feat: add DALAMUD_API_LEVEL
2020-06-11 14:04:11 +02:00
goat
7ae3a92968
refactor: make PluginManager internal
2020-06-08 14:06:09 +02:00
goat
aa84c06cd1
feat: add "updated" label to plugin installer when a plugin was updated
2020-06-08 14:05:23 +02:00
goat
09295d4e61
feat: add plugin ipc
2020-05-14 21:50:04 +02:00
goat
62ef6034ee
fix: work around bad assembly version in chat extender json
2020-04-26 18:43:40 +02:00
goat
b8b05ae998
fix: don't load ChatExtender if it's <1400 (hack, remove this some time)
2020-04-26 15:15:50 +02:00
meli
ad6bf53a6d
Fix for the change to Assembly.LoadFile() no longer correctly handling plugin's local dll dependencies. We still have to use LoadFile() to allow duplicate names, but now we also have to fixup assembly resolution to 'restore' the default behavior. This adds a global appdomain handler that just tries to load dependencies from the local directory of the requesting dll, if other methods have already failed.
2020-03-24 20:05:48 -07:00
goat
7463937afe
fix: close ".disabled" file immediately
2020-03-23 20:23:36 +09:00
meli
760dee2322
fix not being able to load multiple plugins with the same name, as when updating in-game
2020-03-22 07:44:05 -07:00
meli
e9d4d57696
don't even attempt to load assemblies for disabled or invalid plugins; fixes issues where starting the game with multiple versions, even disabled, could load the wrong one and block other versions
2020-03-22 07:17:56 -07:00
goat
a7da9c43db
fix: don't die entirely when one plugin fails init
2020-03-18 15:33:32 +09:00
goat
6c7592ec17
fix: remove shitty feature interface stuff, do it in UiBuilder
2020-03-18 12:40:56 +09:00
goat
f747b2f9c0
fix: don't instantiate plugins from duplicated AssemblyNames
2020-03-13 20:52:29 +09:00
meli
821bcab17a
actually fix devPlugins...
2020-03-04 14:39:38 -08:00
meli
1e3b39b8d9
fix devPlugins not being able to load
2020-03-04 14:10:25 -08:00
goat
6529b3429f
fix: save plugin configs with type, in external directory
2020-03-03 22:45:16 +09:00
goat
3640d30cc7
feat: plugin updates, more installer stuff
2020-02-27 20:43:58 +09:00
goat
877b95eca6
fix: some more plugin installer stuff
2020-02-23 22:34:08 +09:00
goat
15d340d0ed
fix: network sig, some installer bugs
2020-02-21 00:15:49 +09:00
goat
fd95379aa3
feat: add plugin installer
2020-02-20 18:07:00 +09:00
goat
bfbdaa5fc6
feat: plugin info command
2020-02-12 01:20:35 +09:00
goat
b3e6ab7850
fix: load plugins in subdirectories
2020-01-27 17:32:28 +09:00
goat
43d514ab9b
feat: plugin config WIP
2019-12-28 16:49:41 +09:00
goat
ac838687f8
Initial commit
2019-09-21 22:29:38 +09:00