Bay 12 Games Forum

Please login or register.

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

Author Topic: Uristmod - Mod Installer, Raw file modifier for modding, and more  (Read 16719 times)

hermano

  • Bay Watcher
    • View Profile
Re: Uristmod - Mod Installer, Raw file modifier for modding, and more
« Reply #15 on: April 28, 2010, 08:10:38 am »

I really like uristmod, it's a great idea. But I think that two things need to be added before it will be used widely.

- A diff-like function, which compares two sets of raws and automatically creates a .changes file. I think most modders will still modify the raws directly, writing the .changes file will then be additional work. Just running the program and getting a .changes file would probably increase the acceptance of uristmod by modders. I suppose creating this would not be much of a problem for you.

- A 'better' interface would probably increase the acceptance by users. I haven't worked with haskell for a very long time, so I don't know what it is capable of today, but I suppose creating an (non text) interface is still not possible. I would volunteer to provide a typical wimp interface (a window with file/folder selection, lists, buttons, etc.) that then starts uristmod.exe. To make this possible uristmod would need to be able to take arguments (e.g. uristmod.exe 1 /mymodfolder ). So just let me know if you are interested in that.

Keep up the good work.
Logged

Star Weaver

  • Bay Watcher
    • View Profile
Re: Uristmod - Mod Installer, Raw file modifier for modding, and more
« Reply #16 on: June 21, 2010, 02:38:17 pm »

Dumb question: Can uristmod, as it stands, be used to edit sub-things like entity positions, or is that going to need the 'change-after' implementaion?
Logged

Askot Bokbondeler

  • Bay Watcher
  • please line up orderly
    • View Profile
Re: Uristmod - Mod Installer, Raw file modifier for modding, and more
« Reply #17 on: June 21, 2010, 03:08:35 pm »

following this

Normandy

  • Bay Watcher
    • View Profile
Re: Uristmod - Mod Installer, Raw file modifier for modding, and more
« Reply #18 on: June 24, 2010, 12:54:19 pm »

Feature request: Conditional file-copying.

Code: [Select]
= This will install display cases if they are not already installed =
![BUILDING_WORKSHOP:DISPLAY_CASE]
copy building_display.txt
Logged

Shadowlord

  • Bay Watcher
    • View Profile
Re: Uristmod - Mod Installer, Raw file modifier for modding, and more
« Reply #19 on: August 15, 2010, 03:21:06 pm »

Since I haven't been around due to my computer having died, I'll see about answering some of your questions now that I'm back.

2. Reading the manual, it was unclear whether ~[block] and ![block] could be combined. Please clarify, or if you're still at the stage where the syntax can change, I suggest replacing
Code: [Select]
~[block]with
Code: [Select]
?[block]
~
It seems clearer and more consistent to me.
Hmm. I have no idea what would happen if you mixed ![stuff] and ~[stuff] lines together (You couldn't write !~[foo] or ~![foo]). In all likelihood, it would not be pretty.

3. It was also unclear how you could add new blocks to a file. (I know in general it's better not to, but sometimes it might make sense.) Perhaps a specific command for appending new blocks to a file would be good.
Currently you would have to have every line preceded with a +, and that assumes that they get placed in the correct place (if you have them at the end of the file, that would be to also put them at the end of the file... I don't remember if that's what would actually happen, or if they would end up at the beginning of the previous block).

4. Finally, what would really make this take off IMHO is if it could generate a change file from a traditional mod. I realize that's kind of a tall order though.
It would, but it's something that I'm probably unlikely to do myself.

5. Another thought, as I sit down to actually try and make a mod using this... Since +[stuff] (add) and [stuff] (change) are different commands, does that mean I have to know whether a given tag already exists? What happens if I try to add a tag that is already present or change one that isn't? This is fairly important for mod compatibility.
Not necessarily. If you use +[something], then you will always add the line, no matter if it exists already or not. If you use [something] without a +, and the line does not exist yet, it will create the line anyways. So you really only need the + if you want to NOT overwrite existing lines with the same name [foo:] or whatever.

I really like uristmod, it's a great idea. But I think that two things need to be added before it will be used widely.

- A diff-like function, which compares two sets of raws and automatically creates a .changes file. I think most modders will still modify the raws directly, writing the .changes file will then be additional work. Just running the program and getting a .changes file would probably increase the acceptance of uristmod by modders. I suppose creating this would not be much of a problem for you.
It's a bit more complicated than that, considering things in the file can be moved around, etc. Look at how inaccurate WinMerge manages to be most of the time.

- A 'better' interface would probably increase the acceptance by users. I haven't worked with haskell for a very long time, so I don't know what it is capable of today, but I suppose creating an (non text) interface is still not possible. I would volunteer to provide a typical wimp interface (a window with file/folder selection, lists, buttons, etc.) that then starts uristmod.exe. To make this possible uristmod would need to be able to take arguments (e.g. uristmod.exe 1 /mymodfolder ). So just let me know if you are interested in that.
Anyone who wants to contribute to it is welcome to do so (It is open source). Haskell actually should be capable of using a GUI using TCL/tk, IIRC, I just didn't want to spend 80% of my time messing with that (seeing as I've never used it before) instead of actually working on Uristmod.

Dumb question: Can uristmod, as it stands, be used to edit sub-things like entity positions
Not really. It won't see POSITION as a block start tag because it isn't the tag specified at the beginning of the entity_default.txt (ENTITY is), so it won't treat it as a block beginning - although that could be forced by modifying the code to specify that POSITION really is a block start tag. If that were done, then it would see anything under a ?[POSITION] or ![POSITION] or the like as part of it. The same could be done for other sub-block token names. (I'd rather not hard-code them, but if they aren't listed anywhere in any raw files, there wouldn't be any other way)

« Last Edit: August 15, 2010, 03:24:50 pm by Shadowlord »
Logged
<Dakkan> There are human laws, and then there are laws of physics. I don't bike in the city because of the second.
Dwarf Fortress Map Archive

kamichu22

  • Escaped Lunatic
    • View Profile
Re: Uristmod - Mod Installer, Raw file modifier for modding, and more
« Reply #20 on: August 16, 2010, 01:35:29 pm »

I've been playing around with Uristmod for a while now, trying to make some changes. I've noticed the following things:

1) The ~ command does not seem to work. I have attempted to remove both a specific object and a range of objects, but neither of them worked. Both lines below had no effect on the raws, though I have been able to make other kinds of changes.
Code: [Select]
~[INORGANIC:GRANITE]

~[INORGANIC:.*?]

2) You can't seem to add entirely new blocks, as a command has to first match an existing block. However, Uristmod will copy over any .txt file into the raws folder so I recommend you just mention that as a way of adding new things. That's probably more compatible in the long run anyway.

Also, when Uristmod copies over .txt files does this happen before or after it runs any .changes files? Or, is it alphabetical? Basically, I want to know whether my changes files will (or even can) alter any new files I include in the same mod folder.
Logged

LucasUP

  • Bay Watcher
  • Devout Cheeseist
    • View Profile
Re: Uristmod - Mod Installer, Raw file modifier for modding, and more
« Reply #21 on: September 15, 2010, 08:31:51 pm »

I'd like to prop up this thread and project a bit.
I think its a great tool with great potential, and deserves more recognition and maybe more development.

Something that would be awesome: if you could install a mod with a command line function (ie if I wanted to install mods via a batch file or whatever)
Logged
OG founder of the Lazy Newb Pack

gatherer818

  • Escaped Lunatic
    • View Profile
Re: Uristmod - Mod Installer, Raw file modifier for modding, and more
« Reply #22 on: May 23, 2011, 05:47:04 pm »

as much as I hate forum necromancy, I'm having trouble getting this to work.  But I'm a novice modder, so....

my changes file is probably just missing something important that I didn't notice in the manual, right now it's only two lines.

?[CREATURE:*?]
-[GRAZER:*?]

If I was understanding correctly, that's supposed to find and remove all the GRAZER tags from all the creature entries, regardless of their grazer-value.  As it stands, they're all still there after installing the mod (just a folder with that one .changes file in it) and using it to update my savegame.  Can someone point out what I'm doing wrong?
Logged

Eldrick Tobin

  • Bay Watcher
  • [ETHIC: MODDING_UNDWARFY: PERSONAL_MATTER]
    • View Profile
Re: Uristmod - Mod Installer, Raw file modifier for modding, and more
« Reply #23 on: May 24, 2011, 04:25:48 pm »

as much as I hate forum necromancy, I'm having trouble getting this to work.  But I'm a novice modder, so....

?[CREATURE:*?]
-[GRAZER:*?]


From skimming the examples in the first post I think you're missing a period for Uristmod to "match any".
Logged
--
Eldrick Tobin
Behold the unimpressive Aspectus Lolin mod. || My Little Arachnid Fortress attempt...
I mumble to myself on tumblr... Sometimes about DF Modding.

Greiger

  • Bay Watcher
  • Reptilian Illuminati member. Keep it secret.
    • View Profile
Re: Uristmod - Mod Installer, Raw file modifier for modding, and more
« Reply #24 on: May 24, 2011, 05:18:42 pm »

Hm, interesting, I'm surprised I hadn't seen this earlier.  So if I understand it correctly, this program can copy existing raw files into a new version of DF and make changes to particular creatures in the vanilla raws without deleting changes made to the raws by DF version updates?

If so it may cause me to drop my great aversion to modifying vanilla entries.   So many things I could do...elephants and rhino's not starving.  More reptilian kobolds, Dragons being 'Red' dragons to fit in with the rest of my customizations, dwarves able to use all my customized reactions and the like.

Does this work on init files too?  Allowing somebody, even non modders, to carry over their init customizations from version to version, without worrying about breaking something with a straight up copied file?

Of course I am downloading this now even though I don't have answers anyway to answer them myself ;)
Logged
Disclaimer: Not responsible for dwarven deaths from the use or misuse of this post.
Quote
I don't need friends!! I've got knives!!!
Pages: 1 [2]