bosek / pluginloader Goto Github PK
View Code? Open in Web Editor NEWPluginLoader brings modding support to Interstellar Rift!
License: GNU Affero General Public License v3.0
PluginLoader brings modding support to Interstellar Rift!
License: GNU Affero General Public License v3.0
We should keep in mind that IPy libs(Python ones) should be packed along with release.
And test it of course! Ideally on computer without IPy installed, because game should be able to find libs in game directory.
I've managed to pollute code with some rubbish from Visual Studio. I mean licence headers and #pragma
.
If anyone interested in clearing code, I'd be really greatful ๐
PL is using IR types and IR is calling PL methods. Cross referencing might be a problem. Possible changes?
It should be possible to create launcher-based PL, instead of patcher-based. But what is the best way?
Launcher would be a bit more user-friendly and probably easier to maintain, since we wouldn't have to write PatcherGUI wizard. On the other hand it needs some redesign in order to work.
Patcher might be problematic, because users have to patch everytime game updates. Plus we have to develop PatcherGUI. (it also needs some more work, but not that much as launcher mechanism)
My personal opinion is, that Launcher is a bit more elegant. Rework just would take some time I could spend on enhancing API and polishing code. Also, it's better to do rework sooner than later, so we don't break potential mods in future.
Add example plugins. Did I forget to include them from @Zinal001 fork?
http://www.newtonsoft.com/jsonschema
For better convenience working with plugin.json
and validation maybe?
I've added experimental LUA implementation. I have no experience with LUA so It will definitelly need more work.
CurrentDomain.GetAssemblies.ForEach(assembly => assembly.GetTypes())
and register all types available in loaded assemblies, but is it good approach? What if modders want to load other assemblies? Would it be even possible to add inter-op between plugins?When hotreloading, PackageManager doesn't clear previous list of packages, or at least it looks like it. Take a look and fix it future me!
Patching on demand(on run) doesn't work anymore. Needs fix.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.