Posts: 2,087
Joined: Jun 2007
Reputation:
92
djh_
Aeon Project Founder
Posts: 2,087
2008-07-28, 17:55
I've always liked the idea of mod support, though the problem has always been importing new code on top of old code and removing it without causing irreperable harm. That and it isn't really "mod support" so much as editing text.
What would be great would be some kind of object-orientated approach to modding skins, much like the way Unreal Engine makes it easy for mutators to override basic classes in Unreal Tournament. So you'd have a mods folder, say, in your skin directory, and XBMC would pick up its contents like it picks up custom.xml files. Then it would override, or maybe extend, any includes specified in the mod files (view types, for example) with those contained in the mod files.
Maybe you could also have a tag in the mod files, or an equivalent of skin.xml (call it mod.xml, perhaps), for mod name and author details. That way, a skin could use this information to tell users which mods were active.
Sound even remotely possible?
Posts: 26,215
Joined: Oct 2003
Reputation:
187
Anything is possible. The problem is that the amount you'd have to change is entirely up to how the skinner implemented their skin.
Overwriting a whole file or a whole include is simple. But usually you need far more than that, or you need to be able to insert stuff and change navigation and so on and so forth.
Essentially not feasible most of the time. If you have concrete ideas, let's here them.
Cheers,
Jonathan
Posts: 3,746
Joined: May 2004
Reputation:
20
Livin
Posting Freak
Posts: 3,746
2009-05-03, 19:14
I made this request about 2-3 years ago also but I think with the popularity of AEON and some other highly adopted skins it is very relevant to again bring it up.
There are a lot of MODs to skins and no easy way to try/test/reverse them.
The goal would be to leave the base skin unaltered and have a separate folder in the UserData for MODs or custom themes.
Here's how it would work....
1) user sets skin & theme/mod to be used in Settings
2) engine reads in users Settings
3) engine checks UserData\Skins\<skin name>\<theme/mod name>, and creates index (pointers) to all files needed, including new or 'substitute' XMLs
4) engine loads skin based on new 'index' of both original skin folder and mod folder.
note:
MODed XMLs would need to be complete replacements for originals
This would create an easy way to test and switch between mods/themes
thoughts?
I'm not an expert but I play one at work.
Posts: 3,660
Joined: Feb 2008
Reputation:
93
Jeroen
Team-Kodi Member
Posts: 3,660
imo it's bound to cause problems as the skins themselves are updated and conflicts arise when a mod is referencing something that is not in the original skin anymore, or has been changed or the other way around.
When a skin gets a big update it is often advised to remove the older version first because of the same sort of scenarios like this.
Posts: 3,660
Joined: Feb 2008
Reputation:
93
Jeroen
Team-Kodi Member
Posts: 3,660
2009-05-03, 21:59
(This post was last modified: 2009-05-03, 22:02 by Jeroen.)
I don't see how it would cause less problems. I understand it will be easier to use/install mods. What I am talking about is conflicts because of cross referencing includes, conditionals and such. I'ts easy saying it will cause less problems, it's another thing to actually understand. no offense
Posts: 3,746
Joined: May 2004
Reputation:
20
Livin
Posting Freak
Posts: 3,746
it usually takes a few times asking before it happens... last time they implemented 'themes' as the "answer" definitely inferior to the solution I've been asking for.
maybe one day.
I'm not an expert but I play one at work.
Posts: 26,215
Joined: Oct 2003
Reputation:
187
Most skin modifications are used while a skin is still in production.
There's very few available for finished skins - these usually end up as separate skins (eg Horizons and Aeon).
There's lots of mods for Stark at the moment as it's not finished, and thus in a state of flux. Once it's finished, these mods will become either less important (or unneeded) as the skin includes them, or more important as they move to become a separate skin altogether.
There's very little cases where this hasn't happened, thus there's reason for reluctance.
Cheers,
Jonathan
Posts: 491
Joined: Nov 2008
Reputation:
0
2009-06-10, 06:43
I don't know anything about mods, skins, or any of this, so if this sounds dumb forgive me, but I just had an idea.
Is there anyway possible to make it so that mods and changes are kept in a seperate file....say Viewtype_Multiplex_MOD.xml instead of editing the originals, so that if you update, say using the GIT program, your changes will still take effect? I don't know if this would be skin based, or if it would have to be coded into XBMC, but I think that would solve the problem of updating and then loosing your mods. Make it so the skin would look for a file with a _MOD extension or something, and then use that in preference to the default file.
Board: Zotac ION-A-U Case: M350 Mini ITX Memory: 4GB Patriot PC6400
OS: XBMC on OpenELEC.tv build 6936 on a
Corsair 32GB SSD Media Storage: W2K8 running on 14TB RAID 5 on an Asrock board w/ AMD Athlon X2 250 and PERC 6/I controller w/ 8 Samsung HD204UI Green drives
Time to interface from power switch: 22.4 seconds.
Posts: 4,997
Joined: May 2004
Reputation:
12
You need to read up on how to use git correctly. One of its key features is the ability to keep a local branch. In this branch you can apply all of your mods (which should be released as patches not these dumbass full file replacements), then update djh's remote and merge it with your local. Occasionally, you'll run into some merge conflicts, but this is too be expected and you should learn how to resolve them.