New help text on git and github for the guide for 1st time modders

I’ve added the following text to the guide for 1st time modders. Please review and tell me if this makes any sense to you. I know how git works, so it makes sense to me, but communication is tricky.

A brief introduction to git and github

CDDA’s data and code files are stored in the cloud on github.com using a version control system called git.

A version control system is a program that keeps of a bunch of files and records changes to them. It can provide the text of the changes, send those changes to someone else, apply someone else’s changes, or revert the files to a previous version.

A repository or repo is the entirety of a program’s files and recorded changes. The CDDA primary repo is stored at https://github.com/CleverRaven/Cataclysm-DDA and is sometimes called the “CleverRaven repo” or the “upstream repo”. You’ll need your own copy of the CleverRaven repo stored on your user account at github.com. Creating your own copy of the repo is called “forking the repo” (as in a fork in the road). You can also clone a repo, which means copying it from one location to another. You can clone your fork of the CleverRaven repo to copy it out of the cloud and onto your desktop machine or laptop. If you do that, the clone of your fork on your machine is the “local repo” and the copy of your fork on github.com is the remote repo. You can also use github.com's tools to make changes directly on your remote repo.

Each repo has one or more branches. A branch is a list of commits, where each commit is a set of changes to files that are all supposed to happen together. For instance, if you added a new item in JSON, there would be a change to the JSON file for the item’s definition, a change to another JSON file for the recipe to craft the item, and a change in another JSON file to add the item to the lists of items that spawn in the game. All three changes would be grouped together in a single commit. Each branch is independent of every other branch. You can add commits to one branch without changing any other branch.

By tradition, the master branch is the standard release branch for each repo. You should never add code directly to your master branch, but instead it should always be an exact copy of the master branch of the CleverRaven repo. Instead, you should create a new branch for each feature you want to add.

The branch you are currently working on contains the “working set” of your repo, which is just the changes you are currently working on. You can check out branches, which causes git to replace your current working set with the changes from the new branch. By committing changes and then changing branches, you can work on different projects at once without needing to clone the entire repo again.

When you are happy with all the commits you want to make for a branch in your local repo, you can “push” those changes to your remote repo, storing them on github.com. When your changes are in your remote repo, you can open a “pull request” or “PR” against the CleverRaven repo, which is a request to add those changes to the CleverRaven repo’s master branch. One of the maintainers will review your PR and eventually “merge” it into the CleverRaven repo’s master branch, at which point your changes will become part of CDDA.

4 Likes

I use Google translation, hope you can understand.
I’ve gone through all the help documentation. But I still haven’t found the content I need.
I tried to modify the carry weight,But it didn’t work.
Strongback only works once.
The documentation only mentions that these effects exist in lua. Cannot be modified in jons form.
I try to make some exoskeleton mods,i think the exoskeleton can increase the carrying weight
But I can’t do that, so my mod can’t go on.

Strongback uses a "weight_capacity_modifier" field in JSON to determine how much extra load you can carry. You could create another trait that let you carry even more:

{
        "type" : "mutation",
        "id" : "ATLAS",
        "name" : "Atlas",
        "points" : 6,
        "description" : "You can't quite carry the world on your back, but it's close.  Your maximum weight carried is increased by 135%.",
        "starting_trait" : true,
        "valid" : false,
        "cancels" : ["BADBACK"],
        "weight_capacity_modifier" : 2.35
    }

Unfortunately, weight_capacity_modifier is only defined for traits and can’t be applied to items. It wouldn’t be hard to add a similar field but there isn’t one currently.

1 Like

Gotta work out some of the lingo but it sounds like it’s exactly the stuff I needed to know. Thanks for adding it!

is it true that now LUA support has been removed?

Okay, this is not the general “state of CDDA development thread.”
No, LUA has not been removed.
Yes, LUA is for real on the chopping block before the end of March.

ohh… so what happens to those mod who use LUA support then?

Thank you for your answer, which is very helpful to me.

Nope, we’re done here. This thread is about my git advice for the Guide. If you want to ask general development questions, open a new thread.

allright but thanks for the info there… :+1:

1 Like