Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 [2]

Author Topic: ♫♪♀HDFPS♂♪♫ Mods Push Published in DFFD are auto updated for local Players  (Read 18658 times)

Abadrausar

  • Bay Watcher
  • empowering ideas
    • View Profile
    • ♫♪♀HDFPS♂♪♫

Using semantic delta operators in Rubble as a flexible way of doing control of versions.
While not a perfect system I am working around the patch conflicts between mods like this:
1. I use the addon.meta "LoadPriority": value, to indicate the required order of application of mods. Using the following table of priorities and separators:
Quote
9      -> Critical Base Libs
400      -> Composable mods
1999      -> Final or not composable mods
2999      -> Toolbox
3999      -> Tilesets
4999      -> Graphics
¨      -> Tutorials
62000   -> Tests
In resume: when a mod applies changes to some part of vanilla I calculate those changes in relation to what is already done by the modest mod (making button the subsidiary maintainer of vanilla raws after Toady one, no problem as soon as both workings are perfectly separated and distinguishable), generalizing this process to other mods you have a formal model of building mods upon the hard work of your precursors instead of fighting them.
2. Then I use delta operators (aka semantic diff) as defined by Martin Fowler
Quote
So, while textual diff works with a context of files and lines inside them to define where to apply the delta.
my DF aware delta operators define this context in terms of DF rubble objects and tokens inside them to define where to apply the deltas.
This makes the system more reliable, as you will modify the targetted object independently of in which file it is being defined.
3. The temporal definition (local non committed version) of those operators is:
Spoiler (click to show/hide)
4. As they log with enough detail each DELTA failure, modders are guaranted in absence of these warning that ALL intended changes to the vanilla raws have been effectively applied in the order specified by the mods and their dependencies.
5. Some examples of use of the actual DELTA operator applying some changes in vanilla required by the modest mod maintained by Button:
Quote
-- less fuel required to do a bar of iron
{@CONTEXT;REACTION:PIG_IRON_MAKING}
{@DELTA;REAGENT:A;300:BAR:NO_SUBTYPE:METAL:IRON}
{@DELTA;PRODUCT:100;2:BAR:NO_SUBTYPE:METAL:PIG_IRON}
-- less fuel required to do a bar of steel
{@CONTEXT;REACTION:STEEL_MAKING}
{@DELTA;REAGENT:A;300:BAR:NO_SUBTYPE:METAL:IRON}
{@DELTA;REAGENT:B;300:BAR:NO_SUBTYPE:METAL:PIG_IRON}
{@DELTA;PRODUCT:100;4:BAR:NO_SUBTYPE:METAL:STEEL}
6. The complete All races playable maintained by Lovechid using commited old delta operators (those have been deprecated)
Spoiler (click to show/hide)

KillzEmAllGod: In the long term, I think that your proposal of enabling fine grained import of vanilla objects using the standard module mechanism of lua has a lot of sense, but using what is already disponible in the rubble system we are already able of doing something very similar but a lot less flexible, please have a look at the Vanilla raws library addon.
Before release, I have some pending problems with template expansion (metaprogramming is hard to do, and even harder to do it right) that ,maybe , have been resolved by the changes that Milo has done in rubble 7.6





« Last Edit: May 08, 2016, 07:03:56 pm by Abadrausar »
Logged
::: Humble Dwarf Fortress Publishing System ♫♪♀HDFPS♂♪♫ Mods Push Published in DFFD are auto updated in local Players Catalog :::

sirvente

  • Bay Watcher
    • View Profile
Re: HDFPS: Humble Dwarf Fortress Publishing System
« Reply #16 on: March 31, 2016, 04:13:26 pm »

Got enough reserves yet champ?
Logged

Teneb

  • Bay Watcher
  • (they/them) Penguin rebellion
    • View Profile
Re: HDFPS: Humble Dwarf Fortress Publishing System
« Reply #17 on: March 31, 2016, 07:57:05 pm »

It's a mod about reservations, of course.

For some reason it really bothers me that people put unreleased mods in Mod Releases. Usually I would not post about it since I feel I'd come out as an aresehole, but I got too much sugar in my system right now to care.
Logged
Monstrous Manual: D&D in DF
Quote from: Tack
What if “slammed in the ass by dead philosophers” is actually the thing which will progress our culture to the next step?

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: HDFPS: Humble Dwarf Fortress Publishing System
« Reply #18 on: April 01, 2016, 01:24:17 am »

mod releases is for released mods though

at least, that was my original intention...

(true story, the subboards came about because I saw deon's board and said "well i should have my own board if deon gets one obviously" and in that PM i also said "I would personally think it much easier to just have a separate (sub) board for mod releases in general (as opposed to help with modding)." as an alternative to my board but that didn't happen and then some stuff happened and the board didn't work out anyway so i nixed it and moved my stuff over to the mod releases board which is fine)
« Last Edit: April 01, 2016, 01:27:06 am by Putnam »
Logged
Pages: 1 [2]