Bay 12 Games Forum

Please login or register.

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

Author Topic: «*MASTERWORK-DF - Studded With Patches*» - Unofficial release  (Read 70116 times)

Urist McTeellox

  • Bay Watcher
    • View Profile
«*MASTERWORK-DF - Studded With Patches*» - Unofficial release
« on: November 11, 2013, 11:45:41 pm »

What is this?

Masterwork-DF - Studded With Patches (MWDF-SWP) is an unofficial development branch of Meph's amazing Masterwork Dwarf Fortress, with patches and experimental features applied. It's not intended to replace the official Masterwork releases, and due to the developmental nature of the project, it may actually contain more bugs than the official releases. However the project goal is to provide the community with faster access to Masterwork bugfixes with minimal friction.

How does it differ from official Masterwork DF?

MWDF-SWP contains bugfixes, software upgrades, and experimental features that are not yet in the official Masterwork release. The definitive list can be seen in the commit logs, which show changes are they are made. Note that some changes in that list are to developer tools, and won't be visible to end-users.  MWDF-SWP has been the basis of official Masterwork releases, including 4e and 4f

Changes since Masterwork 4g include:

Spoiler (click to show/hide)

The unified branch and master branches are currently the same.

Finally, all the changes ever made are:

Spoiler (click to show/hide)

Downloading

The distribution is updated whenever I apply a patch. There are two downloads I recommend you chose from:

  • The gold release contains all bugfixes and improvements which are considered stable. It is always based upon the most recently release of Masterwork Dwarf Fortress.
  • The beta release (recommended) is the same as the gold release, but with additional changes which are not yet considered completely stable. Things don't get placed into beta until we're pretty sure they work, so it's recommended for most users, but occasionally things will still be a bit rough around the edges.
Both downloads are based on the latest release of Masterwork, and both include an updated release of Dwarf Therapist.

There's also a release for the very, very brave, but if it's broken, you can't complain. ;)

Spoiler (click to show/hide)

If you already have the latest release of Dwarf Fortress, you can download patch files which should update your distributions to the Studded With Patches versions of the files. These are automatically generated, and are not guaranteed to work. If in doubt, use the zips above.

Contributing

MWDF-SWP is hosted on github, so you'll want to get yourself a github account, which only takes a few seconds.

The SWP Contributor's Guide is a wiki page which contains information on how to report bugs, contribute patches, and other useful information. If you feel it's missing something, then please add it.

Thanks

Super-thanks goes to Meph, and all the Masterwork contributors, for making such an amazing mod.
Special thanks to Meph again, for giving me permission to publicly host a development branch to solicit bugfixes and improvements.
Thanks goes to thistleknot, for being consistently encouraging in my efforts. ;)
Thanks to Putnam, for integrating DFHack r4!
Thanks to Splinterz, for the new settings manager!
Thanks to Falconne, for all the updated DFHack plug-ins!
And a big thank you goes to you, for testing and contributing!



This top-post is generated automatically!  You can edit it in markdown format if you think it's missing something.  Be bold with your edits, they're easy to undo!
« Last Edit: February 02, 2014, 07:01:10 pm by Urist McTeellox »
Logged

Urist McTeellox

  • Bay Watcher
    • View Profile
Re: «?MASTERWORK-DF - Studded With Patches?» - Unofficial release
« Reply #1 on: November 11, 2013, 11:46:03 pm »

Reporting bugs

Please report bugs in the issues tracker. Please try to be as specific as possible.

Getting Started with SWP and git

  • Set up git
  • Fork this repo and then clone your fork to your local machine.
  • Make your changes.
  • Commit them (git add the files that have changed, git commit them, and then git push them back to github).
  • Submit a pull request, or point me to your changes on the forum
  • Celebrate, because you're awesome!
If you're an advanced git user, you're encouraged to use feature
branches if you're going to be making a lot of related changes. Likewise
we suggest you make your changes based upon gold, or a feature branch
your changes depend upon (like dfhack_r4), as the beta branch is
really just an amalgam of features, rather than a proper development
branch in and of itself.

If you're still new to git, don't worry about the preceeding paragraph.
Just do what feels best; git makes it easy to apply patches to the
right place. However we do encourage you to commit early and often;
little commits each making a set of related changes are easier to manage
than larger commits which may involve changing different features.

Switching between versions

Git makes it super-easy to switch between versions. git checkout MWDF_4b gives you the offical 4b release, likewise you can git checkout MWDF_4c (and 4d, and 4e, and 4f, and 4g). You can see all tagged releases with git tag -l.

To see the last commit on your branch, you can git show or git log. For a quick history, git log --oneline --no-merges is great. If wish you to inspect a specific change, then git show ID with any ID (in the left column) will display what the changes are. For many people, the network view on github is particularly useful.

Keeping up to date

By default, your local repository won't update when changes are made in the main SWP repository. It would be terrible if you were working on something and the files changed beneath you!

Instead, you can choose when to integrate upstream files when it pleases you.  The first step is to configure a remote that points to the main SWP repository. This only needs be done once:

Code: [Select]
$ git remote add pjf https://github.com/pjf/masterwork-dwarf-fortress.gitIt's now possible to merge those changes into your own repo. Usually you'll want to merge your gold branch:

Code: [Select]
$ git fetch pjf        # Make sure you have all the remote changes

# Then, for each branch you wish to merge:

$ git checkout gold    # This puts you on your local gold branch
$ git merge pjf/gold   # This merges pjf's gold branch into yours
Commonly the gold branch is where most work is based, but you may also have reason to merge other branches if needed.

If you merge a branch by accident (it happens!) you can reset your branch to where it was before the merge with git reset --merge ORIG_HEAD.

Once you've updated your local files, you can send those changes back to github with git push.

Hints for good commits

  • The first line of your commit message is treated as the title. It's what shown in github's logs, the network graph, and in various reports. It should be a short, human-readable summary of what you've done.
  • The second line of a commit message (if it exists) is usually left blank for clarity.
  • The remaining lines of your commit message form the body. This should contain a more detailed description of work if required.
  • You can reference issues in the issues tracker by a hash-sign followed by a number. Github will auto-link them. Eg: #53 or #98.
  • Commits in git are discrete changes that address a single bug or feature, and either a whole commit is applied, or none of it is. If you're fixing lots of bugs, or adding lots of features, it's best to have a separate commit for each one. This makes them easy to track, and also easy to back-out if something goes wrong.
  • Don't worry too much about the rule above. If needed, we can split large commits into smaller pieces, or combine smaller commits (eg: a change and a fixup of that change) into single commits, before integrating them into the main tree.
  • Use your own judgement, the guidelines are guidelines, not hard rules.
  • Git makes it easy to undo changes, so be bold with your commits.
One of the best things is that provided you can use commit and push, then the project maintainer can do the rest. They can see when you've pushed commits, merge them into upstream branches, and even send you pull requests which will merge changes back into yours. So don't worry if any of the advanced commands seem hard at first, you can totally start with the basics.  Github also has a bootcamp which goes through the basics, and there are lots of tutorials on-line.  Don't be afraid to try things out, it's super-easy to undo things in git (that's what git revert does).

To make a pull request on github, go to the main repository pull request page and create a new request for your changes. Use 'compare across forks' to compare the branch (gold) to your branch, and submit the pull request.

Advanced: Keeping things really clean

Sometimes you'll find the local repository has differed from the upstream repository. This may be because your commits have been split or merged for their inclusion upstream. If you want to reset your local repo so your gold branch is the same as if you'd made a fresh clone, you can do so:

Code: [Select]
git fetch pjf                   # Make sure you have all the remote changes
git branch -m gold old_gold     # Relabel your 'gold' branch as 'old_gold'
git checkout -b gold pjf/gold   # Form a new 'gold' branch based on pjf/gold
If all looks good, you can force your branch on github to update with:

Code: [Select]
git push --force origin gold
The --force option is necessary because your new branch is no longer a strict continuation of your old branch, and if anyone else had based their changes off your branch, then they might be very surprised.

If you're absolutely sure, you can delete your old branch with:

Code: [Select]
git branch -D old_gold
However it's safe to leave your branch around, in case you discover later that you need something from it.

Playing in your repository

If you wish to play Masterwork in the same repository as you do development, it's best to have a dedicated play branch:

Code: [Select]
$ git checkout gold             # Or beta, or wherever you wish to branch from.
$ git checkout --track -b play  # 'play is our local branch we wish to play on.

# Edit/move/whatever your customisations. I usually run the Settings
# GUI at this point, adjust worldgen params, etc.

$ git add -A .                  # Mark all our changes for inclusion.
$ git commit                    # Commit your local customisations.
You then have a gold branch which is identical to your gold branch on github, which can be used for development.  You also have a play branch that has your customisations, and which is tracking your local gold branch. The play branch is local; it won't get uploaded to github, and exists only on your machine.

You can git pull on your play branch to merge from your master branch. If there are conflicts, you can always use git checkout -- data/init to choose to use your existing files, and then git commit to mark the changes as resolved. This gives you a chance to review conflicts first.

Alternatively, git pull -s ours on the play branch will tell git to automatically favour our revisions when conflicts exist, and it's pretty darn awesome. You might be able to use git config branch.play.mergeoptions -sours to do this automatically for the play branch, but I haven't actually tested that. If that works, then it pretty much solves all our play-config options.



This top-post is generated automatically!  You can edit it in markdown format if you think it's missing something.  Be bold with your edits, they're easy to undo!
« Last Edit: March 12, 2015, 08:03:41 pm by Urist McTeellox »
Logged

Meph

  • Bay Watcher
    • View Profile
    • worldbicyclist
Re: «☼MASTERWORK-DF - Studded With Patches☼» - Unofficial release
« Reply #2 on: November 12, 2013, 12:03:23 pm »

Ahh... I wanted to do a release on friday, which includes all your patches. ^^
Logged
::: ☼Meph Tileset☼☼Map Tileset☼- 32x graphic sets with TWBT :::
::: ☼MASTERWORK DF☼ - A comprehensive mod pack now on Patreon - 250.000+ downloads and counting :::
::: WorldBicyclist.com - Follow my bike tours around the world - 148 countries visited :::

Billy Jack

  • Bay Watcher
  • Baywatch Watcher
    • View Profile
Re: «☼MASTERWORK-DF - Studded With Patches☼» - Unofficial release
« Reply #3 on: November 12, 2013, 12:50:10 pm »

DO IT!!!!!
Logged
Give a dwarf a fish, you feed him for a season.
Give a dwarf a Fishpond, couple of buckets, build a Fishery, and enable Fishfarming labor; you feed him for a lifetime. (And get someone to clean and prep the fish)

Meph

  • Bay Watcher
    • View Profile
    • worldbicyclist
Re: «☼MASTERWORK-DF - Studded With Patches☼» - Unofficial release
« Reply #4 on: November 12, 2013, 12:56:05 pm »

DO IT!!!!!
I didnt say that I wont do it. Its just bad timing. ^^
Logged
::: ☼Meph Tileset☼☼Map Tileset☼- 32x graphic sets with TWBT :::
::: ☼MASTERWORK DF☼ - A comprehensive mod pack now on Patreon - 250.000+ downloads and counting :::
::: WorldBicyclist.com - Follow my bike tours around the world - 148 countries visited :::

thistleknot

  • Bay Watcher
  • Escaped Normalized Spreadsheet Berserker
    • View Profile
Re: «☼MASTERWORK-DF - Studded With Patches☼» - Unofficial release
« Reply #5 on: November 12, 2013, 01:59:53 pm »

Ahh... I wanted to do a release on friday, which includes all your patches. ^^

I was trying to respond earlier, stinkin phone won't upload my post.

Anyways, how ya doing Meph?  Thanks for the advice on workshop skills being mapped to specific labors (my suggestion I posted to you on the irc).

I didn't realize you had me fooled until I looked at the reactions (I was considering changing them) and realized there were no custom products mapped to dfhack scripts...

I.e. the === woodcutting === jobs in workshops...

 :D

Anyways...
I think you should push the update to make whatever changes "official" so the next round of patchwork can begin.  And if I know you, you push new changes every update anyways.

Meph

  • Bay Watcher
    • View Profile
    • worldbicyclist
Re: «☼MASTERWORK-DF - Studded With Patches☼» - Unofficial release
« Reply #6 on: November 12, 2013, 03:07:22 pm »

Ahh... I wanted to do a release on friday, which includes all your patches. ^^

I was trying to respond earlier, stinkin phone won't upload my post.

Anyways, how ya doing Meph?  Thanks for the advice on workshop skills being mapped to specific labors (my suggestion I posted to you on the irc).

I didn't realize you had me fooled until I looked at the reactions (I was considering changing them) and realized there were no custom products mapped to dfhack scripts...

I.e. the === woodcutting === jobs in workshops...

 :D

Anyways...
I think you should push the update to make whatever changes "official" so the next round of patchwork can begin.  And if I know you, you push new changes every update anyways.
What are you talking about? Custom products mapped to dfhack scripts? That could be all the announcements and boiling rocks for autosyndrome, like the Embassy or Colosseum.
Logged
::: ☼Meph Tileset☼☼Map Tileset☼- 32x graphic sets with TWBT :::
::: ☼MASTERWORK DF☼ - A comprehensive mod pack now on Patreon - 250.000+ downloads and counting :::
::: WorldBicyclist.com - Follow my bike tours around the world - 148 countries visited :::

thistleknot

  • Bay Watcher
  • Escaped Normalized Spreadsheet Berserker
    • View Profile
Re: «☼MASTERWORK-DF - Studded With Patches☼» - Unofficial release
« Reply #7 on: November 12, 2013, 03:39:50 pm »

I read "skill woodworking" under custom workshops as actually training the woodworking skill.

I recommended to you on the irc that they (the skill job) should be limited to dwarfs who have that labor specifically enabled, thinking it was a job that trained a skill.

You said that was how you initially had it, but changed your mind on it.

It wasn't until later that I realized "skill woodworking" really just is a placeheader for the skill that is used for the workshop, not an actual job

Billy Jack

  • Bay Watcher
  • Baywatch Watcher
    • View Profile
Re: «☼MASTERWORK-DF - Studded With Patches☼» - Unofficial release
« Reply #8 on: November 12, 2013, 04:36:17 pm »

Hold off on my leather mod.

I just noticed that Drake Rigid Scale isn't processing, at least when sheared.  I checked against the RAWs I uploaded to DFFD applied to a fresh 4c load, so its not just integrating them into this patch build.

I'll have it figured out tonight.

DAMMIT


(could have sworn it was processed the last time I tested the changes)
Logged
Give a dwarf a fish, you feed him for a season.
Give a dwarf a Fishpond, couple of buckets, build a Fishery, and enable Fishfarming labor; you feed him for a lifetime. (And get someone to clean and prep the fish)

Billy Jack

  • Bay Watcher
  • Baywatch Watcher
    • View Profile
Re: «☼MASTERWORK-DF - Studded With Patches☼» - Unofficial release
« Reply #9 on: November 12, 2013, 06:01:43 pm »

Fixed tanning sheared drake scales along with removing leather stockpile entries for Balrog and Dragon Raptor.

thread -> http://www.bay12forums.com/smf/index.php?topic=132489.msg4758751#msg4758751

download raws -> http://dffd.wimbli.com/file.php?id=8107

file changes
  • creature_masterwork.txt (for Balrog and Dragon Raptor fixes)
  • material_template_masterwork.txt - replace " :" with ":" - yeah, I had a space in there.

These changes are not based on this patched RAW set. They are still based on the standard 4c.
To apply the new changes to this patched build, just overwrite the two files mentioned above. (You'll be overwriting a typo correction in creature_masterwork.txt, but what the hell)

(Gotta get git)
« Last Edit: November 12, 2013, 06:26:59 pm by Billy Jack »
Logged
Give a dwarf a fish, you feed him for a season.
Give a dwarf a Fishpond, couple of buckets, build a Fishery, and enable Fishfarming labor; you feed him for a lifetime. (And get someone to clean and prep the fish)

Urist McTeellox

  • Bay Watcher
    • View Profile
Re: «☼MASTERWORK-DF - Studded With Patches☼» - Unofficial release
« Reply #10 on: November 12, 2013, 06:09:43 pm »

Ahh... I wanted to do a release on friday, which includes all your patches. ^^

That would be amazing! New releases of Masterwork are my excuse to blow off my friends and spend the weekend locked in a glorious room with dwarfy dubstep. :D (And it means I'll then base any patches I make off 4d)

If you want, I can pull or revise this post, I absolutely don't want to be stepping on toes. I'm certainly not intended for my work to interfere with official releases at all; instead they're to give trailblazers a chance to grab patched versions in between official releases.

Let me know if there's anything more I can do to help with the 4d release. The small patch zips are regenerated every time I push changes, so any activity from this thread (like Billy Jack's leather) should be visible almost immediately after integration.

Many thanks again!

~ T
Logged

Urist McTeellox

  • Bay Watcher
    • View Profile
Re: «☼MASTERWORK-DF - Studded With Patches☼» - Unofficial release
« Reply #11 on: November 12, 2013, 06:26:20 pm »

Fixed tanning sheared drake scales along with removing leather stockpile entries for Balrog and Dragon Raptor.

Thank you! Integrated into my repository on the unified and simple-leather branches, and new patch files generated and syncing now. :)

~ T
Logged

Billy Jack

  • Bay Watcher
  • Baywatch Watcher
    • View Profile
Re: «☼MASTERWORK-DF - Studded With Patches☼» - Unofficial release
« Reply #12 on: November 12, 2013, 06:29:21 pm »

Those are the only two files I updated to fix the issue.  There is a file conflict between your creature_masterwork and mine due to some typo corrections that exist in yours.

I'm sure you probably already saw this and handled the merger correctly.  I'll figure out git.
Logged
Give a dwarf a fish, you feed him for a season.
Give a dwarf a Fishpond, couple of buckets, build a Fishery, and enable Fishfarming labor; you feed him for a lifetime. (And get someone to clean and prep the fish)

Urist McTeellox

  • Bay Watcher
    • View Profile
Re: «☼MASTERWORK-DF - Studded With Patches☼» - Unofficial release
« Reply #13 on: November 12, 2013, 06:36:18 pm »

Those are the only two files I updated to fix the issue.  There is a file conflict between your creature_masterwork and mine due to some typo corrections that exist in yours.

I'm sure you probably already saw this and handled the merger correctly.  I'll figure out git.

Actually, I didn't even need to notice. Your new changes went onto my 'simple-leather' branch, which is just 4c + your leather mods. Git then knows what the differences are between releases, and I ask it to apply those differences onto my unified branch. Because we're not both changing the same thing, it just works flawlessly. :)

If we were both editing the same entities inside the same files, then I'd need to manually resolve conflicts. But right now everything is smooth and automatic. :)

So as long as you keep making your changes on a vanilla 4c (or any known starting point that I have access to), then there's very little effort for me to integrate them. :)

And yes, git is well worth learning if you're doing any sort of change/patch management, even on a casual basis. :)

~ T
Logged

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: «☼MASTERWORK-DF - Studded With Patches☼» - Unofficial release
« Reply #14 on: November 13, 2013, 02:46:40 am »

I agree. I've been moving my mods to git as I work on them.
Pages: [1] 2 3 ... 39