Contributing to Paracode

From Paradise Station Wiki
Jump to: navigation, search

(Alternative: https://nanotrasen.se/wiki/index.php/Setting_up_TortoiseGit ) This guide will use GitHub for Desktop, but it's alright if you pick a different way to work with Git if you're experienced in the matter. This method works only on Windows.

Git is known for being a rather hard system to learn and work with if you're not an experienced programmer. Don't be afraid to ask for some help if you're stuck.

If you have any problems at all with the system or code, feel free to drop by our Discord: hhttps://discord.gg/RBXSKR3

Register on GitHub

  • Head over here: https://github.com/
  • Click Sign Up in the top right-hand corner.
  • Just follow all directions and create your own account.
  • This will enable you to comment and make changes to our online repository.

Download GitHub for Desktop

  • Go here: https://desktop.github.com/
  • Download and install the program.
  • Log in with your own account, the one you created a second ago.

Fork the Code

  • Head over to: https://github.com/ParadiseSS13/Paradise
  • Click the Fork button in the top right corner.
  • The page you'll be directed to is now your fork.
  • Normally, we'd have to do some more fiddling here, but GitHub for Desktop is smart enough to know this is your fork.

Downloading the Code

  • Open GitHub for Desktop on your computer.
  • Click the + icon in the top left of the window.
  • Select clone and pick the fork you just made.
  • Click Clone Repository, select where you put all the files and wait until it's downloaded.

Updating your Repo

  • Should you realize that your local version of all files is outdated when compared to what is out there online, you'll have to update your local repository to match it.
  • Make sure you have the master branch selected in GitHub for Desktop in top left. If not click on the blue text with your current branch name and select master.
  • Simply click the Update from ParadiseSS13/master button and wait for the files to get downloaded.
  • Done!

Making a Branch

  • Branching your repo is very important for organising your commits, you should have a different branch for each unrelated code change (e.g. if you wanted to make some new sprites for one item and change the properties of another these should be in seperate branches), as Pull requests work off branches rather than commits this will allow you to make a seperate Pull Request per change. Doing this streamlines the whole process and will save everyone a bunch of headaches.
  • In GitHub for Desktop select the branch icon on top left (it will be located right next to the current branch name, most likely master if you haven't changed anything.
  • Type in your new branch name
  • Press Create new branch and your new branch is created
  • GitHub for Desktop will automatically switch you over to the new branch.

To switch between Branches:

  • Click the branch name at top left (again, was master when you were starting out)
  • Choose the branch to switch to.

Making a Commit

  • A commit is confirmed change of the files in your repo, it's how you make changes permanently to the files in your repo, so try not to commit without making sure it works (though subsequent commits can fix it).
  • As said before, you should use different branches to separate your commits/changes. Don't commit to master. It should be clean, so you can fall back on it if needed.
  • To make your commits, you need to edit the files using BYOND's inbuilt editing tools. When you're finished with coding, mapping, spriting or whatever else you want to change, simply open GitHub for Desktop (make sure you're in the Changes, not History view, top of the screen), make sure all the files you want changed are ticked, type in the commit name and description at the bottom and click Commit.

Making a Pull Request

  • When you're done working with whatever feature you want to add to the game you need to make a Pull Request. That will let the Maintainers and our community look at the changes you've made and review them.
  • Make sure all your changes are commited to your local repo. Look at the above section for more info on how to do that.
  • Push all the changes to your forked online repo. Do that by pressing the Publish button in the top right corner of the GitHub for Desktop app. If the current branch was already published you'll see a Sync button instead, it does the exact same thing, only updates your branch with newer changes instead of creating one.
  • Once the changes are uploaded you can navigate to your online repo in your web browser. Its address should look like this: https://github.com/yourusername/Paradise
  • Click on the branches button in the middle of the screen, find your branch and click the New Pull Request button.
  • Make sure you come up with a good title and description for all the changes you've made.
  • Once your repo is made other members of the community will likely very happily point out the glaring flaws in the code you've written and drive you into deep depression.
  • That's normal.

Code Formatting

When declaring new objects, make sure to avoid relatively pathing procs and class paths. Variables, however, may be relatively pathed directly after a class path.

Not OK:

 /obj/item
   weapon/petunias
     var/flowerpower
 
     proc/grow()

Also not OK:

 /obj/item/weapon/petunias
   var/flowerpower
   proc/grow()

OK:

 /obj/item/weapon/petunias
   var/flowerpower
 
 /obj/item/weapon/petunias/proc/grow()

See Also: SS13 for experienced programmers, Understanding SS13 Code

Contribution Guides
General Contributing to Paracode, Setting up TortoiseGit, Game Resources category
Setting server Setting up the Database, Creating your own paracode server
Coding Understanding SS13 Code, SS13 for experienced programmers
Mapping Guide to Mapping,
Spriting Guide to Spriting,
Wiki Guide to Editing the Wiki