Bay 12 Games Forum

Please login or register.

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

Author Topic: +Mod Updater+  (Read 4065 times)

Teirdalin

  • Bay Watcher
  • It'd be nice if I'd stop getting distracted.
    • View Profile
    • My Youtube Profile
+Mod Updater+
« on: August 04, 2016, 10:46:14 pm »

Dwarf Fortress Mod Updater
V0.01 Is Complete


It's not pretty, it's buggy, and it's probably more or less unusable for people who don't know how to mod DF, but it will get a lot of work done fast.  And if you understand python you can probably reasonably improve it.
(Speaking of which, if you make any improvements I'd love to implement them to the main program)

Anyways, some mods may work without any further changes after being tossed through the updater, but I do not believe that will be the case in most situations.  Feel free to mess around with it.
This is the result of less than a week(wow the days flew by) of dedicated effort, so don't expect anything mind-blowing in this current build.

Downloads for current release:
May Eventually Be Down

Requires Python 3.5+  https://www.python.org/


Anyways, test it; send me your errors, make me smash my head against the keyboard as I fix them all in next update.  Not fixing specific things such as dev forgetting to add a line or making a typo.


Due to lack of general interest; I think I'll actually just put this project on hold for a while, and come back to it later.
« Last Edit: August 21, 2016, 04:07:26 pm by Teirdalin »
Logged
Insert Witty Signature Here.

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: -Mod Updater-?
« Reply #1 on: August 04, 2016, 11:46:40 pm »

Yes, it's possible. It takes me about 3 days of reasonably dedicated work to update a very large, old (2013) major mod. Not sure there are enough mods that old and big for the effort.

Teirdalin

  • Bay Watcher
  • It'd be nice if I'd stop getting distracted.
    • View Profile
    • My Youtube Profile
Re: -Mod Updater-?
« Reply #2 on: August 05, 2016, 02:47:40 am »

That is true, but there will always be new updates, and new mods being made for the rest of time.  So such a program project would probably be worth it in the long-run.
Logged
Insert Witty Signature Here.

Enemy post

  • Bay Watcher
  • Modder/GM
    • View Profile
Re: -Mod Updater-?
« Reply #3 on: August 05, 2016, 07:27:37 am »

I'd like to see the Cthulhu mod updated from 34.11 someday.
Logged
My mods and forum games.
Enemy post has claimed the title of Dragonsong the Harmonic of Melodious Exaltion!

jecowa

  • Bay Watcher
    • View Profile
Re: -Mod Updater-?
« Reply #4 on: August 05, 2016, 10:55:33 am »

How would a mod updater program deal with an old mod that depends on vanilla features that have been removed from the game?
Logged

Teirdalin

  • Bay Watcher
  • It'd be nice if I'd stop getting distracted.
    • View Profile
    • My Youtube Profile
Re: -Mod Updater-?
« Reply #5 on: August 05, 2016, 05:36:13 pm »

How would a mod updater program deal with an old mod that depends on vanilla features that have been removed from the game?

Probably by simply butchering the elements from the individual txt files, or changing them to match up with new systems that serve that purpose.  Same way a person would.

I don't know why, but I feel python would be the best language to make this thing in.  So I'm going to start learning some more python coding in anticipation of this project concept.
« Last Edit: August 05, 2016, 05:38:48 pm by Teirdalin »
Logged
Insert Witty Signature Here.

Teirdalin

  • Bay Watcher
  • It'd be nice if I'd stop getting distracted.
    • View Profile
    • My Youtube Profile
Re: -Mod Updater-?
« Reply #6 on: August 07, 2016, 10:28:47 pm »

After some testing, I think I got the basic principle down on how this will work, and even a proof of concept program made which I'll basically make a ton of copies of, all of which performing different modifications probably, with a master program that will run each one individually-  or maybe I'll just fit them all into one.  Would anyone with adequate Dorf Modding mind helping me with knowing what terms from certain versions in what files need to be changed / removed in general?   I suppose I can just experiment,  but if so anyone mind suggesting a mod to use as a guinea-pig for my experimentation that is not compatible with the latest version of DF?  (And optionally why it does not work.)

Edit: Maybe I'll slowly work on the program going by one 0.0x version at a time, or maybe by one 0.x version at a time; depending how well a 0.42 mod can work in 0.43; think the most effective way would probably be either by major modifications or 0.x patch differences though.  Hmm..

EditEdit:  Actually going to experiment on the Cthulhu Mythos Mod, as someone did suggest it above.  Suppose first release of the updater will be 0.31 -> 0.43; if I do allocate enough time to this project,  which I may as well seeing as I have no life anyways.
« Last Edit: August 07, 2016, 10:38:50 pm by Teirdalin »
Logged
Insert Witty Signature Here.

jecowa

  • Bay Watcher
    • View Profile
Re: +Mod Updater+?
« Reply #7 on: August 08, 2016, 12:11:46 am »

After some testing, I think I got the basic principle down on how this will work, and even a proof of concept program made which I'll basically make a ton of copies of, all of which performing different modifications probably, with a master program that will run each one individually-  or maybe I'll just fit them all into one.  Would anyone with adequate Dorf Modding mind helping me with knowing what terms from certain versions in what files need to be changed / removed in general?   I suppose I can just experiment,  but if so anyone mind suggesting a mod to use as a guinea-pig for my experimentation that is not compatible with the latest version of DF?  (And optionally why it does not work.)

The It's The Small Things mod from 0.28.xx.39d might be a good one. It could stand to be updated, and it modifies a good number of raws.

A less outdated but more popular mod that could use an update is the Deeper Dwarven Domestication for Dwarf Fortress v0.34.11. DF v0.34.11 was the latest version for a very long time, so there's probably lots of dead content at this version. This mod only modifies two vanilla objects files.


Edit: Maybe I'll slowly work on the program going by one 0.0x version at a time, or maybe by one 0.x version at a time; depending how well a 0.42 mod can work in 0.43; think the most effective way would probably be either by major modifications or 0.x patch differences though.  Hmm..

EditEdit:  Actually going to experiment on the Cthulhu Mythos Mod, as someone did suggest it above.  Suppose first release of the updater will be 0.31 -> 0.43; if I do allocate enough time to this project,  which I may as well seeing as I have no life anyways.

The Cthulhu mod looks like a good choice. It looks like it modifies 36 vanilla files (3 objects files, 2 ogg files, and I think 31 speech files). The Cthulhu mod I'm looking at is a DF v0.34.11 mod, though.







Logged

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: +Mod Updater+?
« Reply #8 on: August 08, 2016, 12:37:55 am »

0.28.xx.39d

(the "181" you've xx'd out is more important than the 39d--it'd probably be best just to mention 0.28)

Teirdalin

  • Bay Watcher
  • It'd be nice if I'd stop getting distracted.
    • View Profile
    • My Youtube Profile
Re: +Mod Updater+?
« Reply #9 on: August 08, 2016, 01:56:47 am »

After some testing, I think I got the basic principle down on how this will work, and even a proof of concept program made which I'll basically make a ton of copies of, all of which performing different modifications probably, with a master program that will run each one individually-  or maybe I'll just fit them all into one.  Would anyone with adequate Dorf Modding mind helping me with knowing what terms from certain versions in what files need to be changed / removed in general?   I suppose I can just experiment,  but if so anyone mind suggesting a mod to use as a guinea-pig for my experimentation that is not compatible with the latest version of DF?  (And optionally why it does not work.)

The It's The Small Things mod from 0.28.xx.39d might be a good one. It could stand to be updated, and it modifies a good number of raws.

A less outdated but more popular mod that could use an update is the Deeper Dwarven Domestication for Dwarf Fortress v0.34.11. DF v0.34.11 was the latest version for a very long time, so there's probably lots of dead content at this version. This mod only modifies two vanilla objects files.


Edit: Maybe I'll slowly work on the program going by one 0.0x version at a time, or maybe by one 0.x version at a time; depending how well a 0.42 mod can work in 0.43; think the most effective way would probably be either by major modifications or 0.x patch differences though.  Hmm..

EditEdit:  Actually going to experiment on the Cthulhu Mythos Mod, as someone did suggest it above.  Suppose first release of the updater will be 0.31 -> 0.43; if I do allocate enough time to this project,  which I may as well seeing as I have no life anyways.

The Cthulhu mod looks like a good choice. It looks like it modifies 36 vanilla files (3 objects files, 2 ogg files, and I think 31 speech files). The Cthulhu mod I'm looking at is a DF v0.34.11 mod, though.


Oh silly me i was looking at the old version of it,  alright I'll use Deeper Dwarven Domestication, the 0.34 version of Cthulhu, and the actual 0.34.11 DF game for my testing files and v0.34->0.43 for the first updater file I suppose. (decided to separate each updater into different files managed by one main file)    The actual program is running quite beautifully so far by the way, I was right that python is a wonderful language for this;  writing it in Eclipse using PyDev.

On a semi-unrelated note, thinking of a name for the program, what do you think of Urist Beard Updater?  Just Mod Updater sounds boring, and Urist Beard Updater simplifies down to UBU which sounds great.

The structure I'm thinking will be along the lines of
Spoiler (click to show/hide)

With the numbers being for each different updater.

And the text inside will be giving you some vague information of what's being done, just for the sake of seeming more magical with things like
Spoiler (click to show/hide)


Either way I'm pretty happy that it's grabbing the proper number of files starting with whatever type I input into it and editing each one individually exactly how I want it to.  Now is just the challenge of knowing WHAT to change and the rest should all fall into place.

Even made a screen for improper file placement, with scrolling text before it violently crashes trying to read a ton of data that does not exist, could put a break instead but I think it does a pretty effective way of stopping itself really.
Spoiler (click to show/hide)

Anyways, main things can probably be seen pretty easy with sites like https://www.diffchecker.com/y6pu8ffw I guess, so I'll likely be using this a lot.  Like the [START_BIOME:MOUNTAIN]   >>>>   [EXCLUSIVE_START_BIOME:MOUNTAIN] is something I would have totally missed.  Guess I'll have input for setting up settlement biomes.  Sheesh it's almost 2am; I should probably consider sleep.

EditEditEditEdit
For things like instrument there,  should I remove instruments from the entities list?  (Would look nice in the console with like "Breaking drums" 'breaking flute" etc etc :P)  Don't really understand why they're not in the default entities anymore.  Anyways, upgraded my program to auto-detect 'bad' terms that I pre-define, and then to either remove them, their lines, or replace them with more proper terminology.   Still working on actually figuring out what needs to be removed and not though.
EditEditEditEditEdit:  Oh I see, instruments are replaced with the generation of instruments now I suppose.  Easy fix.  Also added more flavor text to the MACHIIINNNNEEE!
Spoiler (click to show/hide)

Edit.  I think this is my last update for the night, wrote well over 200 lines of code tonight, and everything is working even better than I had imagined.
It may not look like much but
Spoiler (click to show/hide)
is accomplishing quite a lot.  Not entirely sure if this is an acceptable place to leave entities for now.  https://www.diffchecker.com/uajjdfzg  is how it converts to at the moment.  I guess there are still some necessary tweaks, such as the fact kobolds are being given settlements currently in the dorf mountain biome upgrade.  I suppose the only way to know for sure if stable is to try to make a world in modern DF with the modified old file..

It works! I think at least, no errors, I seem to be able to play just fine.  The entity file works just fine it would seem!  I guess I'll leave the tweaks for that to a later version, and work on upgrading either body or creature files tomorrow,  that's sure to be !FUN!.   I'll work out any bugs in the entity modification file after people have tested the program out a bit and have actual feedback.
Also for file structure, I guess I'll have each function of the upgrading version with it's own file:
Spoiler (click to show/hide)
or else when I start reaching the thousands of lines of code,  I'm going to be experiencing utter hell in searching these things.
« Last Edit: August 08, 2016, 05:15:12 am by Teirdalin »
Logged
Insert Witty Signature Here.

Arthropleura

  • Bay Watcher
  • Elven Historian
    • View Profile
Re: +Mod Updater+?
« Reply #10 on: August 08, 2016, 03:50:03 am »

"DF Mod Updater" is a good enough name for it. For a utility like this, the name need to reflect what it does. And "Urist Beard Updater" sounds more like an appearance tweak for dwarves.
Logged
We are currently three turns in, and the main hall is coated in blood, intestines and random corpses. There's a huge pile of 3000 items made of human body parts in a corner and remaining members of the staff of the museum are, as I type this, being slowly choked to death by one of our adventurers.

Teirdalin

  • Bay Watcher
  • It'd be nice if I'd stop getting distracted.
    • View Profile
    • My Youtube Profile
Re: +Mod Updater+?
« Reply #11 on: August 08, 2016, 03:58:05 am »

"DF Mod Updater" is a good enough name for it. For a utility like this, the name need to reflect what it does. And "Urist Beard Updater" sounds more like an appearance tweak for dwarves.

Very true.  An appearance tweaker for dwarves would also be a very cool thing.  Perhaps an input based creature generator could be my next project.
Urist Beard Generator shall be a thing yet.    DFMU does sound actually rather cool come to think of it, DwardFortress Mod Updater.
« Last Edit: August 08, 2016, 04:19:27 am by Teirdalin »
Logged
Insert Witty Signature Here.

Enemy post

  • Bay Watcher
  • Modder/GM
    • View Profile
Re: -Mod Updater-?
« Reply #12 on: August 08, 2016, 11:21:21 am »

Would anyone with adequate Dorf Modding mind helping me with knowing what terms from certain versions in what files need to be changed / removed in general?
My SW mod started out in 34.11, and then I updated to the current version. I thought someone might want to see how I did it, so I kept somewhat sloppy notes. The major steps were:Change the trees to the new version, switch the bodies to their NECK versions (BODY:HUMANOID to BODY:HUMANOID_NECK for example), remove all SPEED tokens and switch them to GAITS, add [LOCAL_POPS_CONTROLLABLE] tags to creatures you want to be able to play as adventurers, make the males geldable by adding [SET_BP_GROUP:BY_TYPE:LOWERBODY] [BP_ADD_TYPE:GELDABLE] to their caste files. I'm not entirely sure I did that right. Add the various philosophers, [MERCENARY], and [BEAST_HUNTER] to Entity files, along with the new art forms, generated instruments, and gardens. Add the ATTACK_PREPARE_AND_RECOVER to every weapon and natural attack. Add optional smell related tokens and specific vision angles. Finally, I added OUTSIDER_CONTROLLABLE to the sentient creatures, but that tag may be obsolete now.

Edit:Actually going to experiment on the Cthulhu Mythos Mod, as someone did suggest it above.  Suppose first release of the updater will be 0.31 -> 0.43; if I do allocate enough time to this project,  which I may as well seeing as I have no life anyways.
I knew 2016 was a strange aeon.
Logged
My mods and forum games.
Enemy post has claimed the title of Dragonsong the Harmonic of Melodious Exaltion!

Teirdalin

  • Bay Watcher
  • It'd be nice if I'd stop getting distracted.
    • View Profile
    • My Youtube Profile
Re: -Mod Updater-?
« Reply #13 on: August 08, 2016, 01:57:59 pm »

Would anyone with adequate Dorf Modding mind helping me with knowing what terms from certain versions in what files need to be changed / removed in general?
My SW mod started out in 34.11, and then I updated to the current version. I thought someone might want to see how I did it, so I kept somewhat sloppy notes. The major steps were:Change the trees to the new version, switch the bodies to their NECK versions (BODY:HUMANOID to BODY:HUMANOID_NECK for example), remove all SPEED tokens and switch them to GAITS, add [LOCAL_POPS_CONTROLLABLE] tags to creatures you want to be able to play as adventurers, make the males geldable by adding [SET_BP_GROUP:BY_TYPE:LOWERBODY] [BP_ADD_TYPE:GELDABLE] to their caste files. I'm not entirely sure I did that right. Add the various philosophers, [MERCENARY], and [BEAST_HUNTER] to Entity files, along with the new art forms, generated instruments, and gardens. Add the ATTACK_PREPARE_AND_RECOVER to every weapon and natural attack. Add optional smell related tokens and specific vision angles. Finally, I added OUTSIDER_CONTROLLABLE to the sentient creatures, but that tag may be obsolete now.

Edit:Actually going to experiment on the Cthulhu Mythos Mod, as someone did suggest it above.  Suppose first release of the updater will be 0.31 -> 0.43; if I do allocate enough time to this project,  which I may as well seeing as I have no life anyways.
I knew 2016 was a strange aeon.

That note list is amazing. :D

Anyways; in that case entities is probably done, and it sounds easy enough actually, I'll reuse the script for the entities for making those changes and hopefully things should work just fine.  Thanks a ton. Took me two hours to fall asleep last night, and I dreamed entirely in code.. Not very great sleep. x_x  Do remember some of it though, and actually is kind of useful for maybe a later project.
Once this is all done the program should be functional although rather sloppily coded, and will probably take like, a few weeks to actually look great.
« Last Edit: August 08, 2016, 02:13:18 pm by Teirdalin »
Logged
Insert Witty Signature Here.

Enemy post

  • Bay Watcher
  • Modder/GM
    • View Profile
Re: +Mod Updater+?
« Reply #14 on: August 08, 2016, 02:18:40 pm »

I'm happy the notes came in handy, I didn't really expect anyone to read them.

*Edit, one more thing. You need to add sweat, tears, and spitting.
« Last Edit: August 08, 2016, 02:56:39 pm by Enemy post »
Logged
My mods and forum games.
Enemy post has claimed the title of Dragonsong the Harmonic of Melodious Exaltion!
Pages: [1] 2 3