You must register an account to edit pages.

Getting Your Pull Accepted

From /vg/station13
Jump to: navigation, search
This policy currently only applies to the /vg/station servers.

So you've made a change to the code/sprites and want to make a Pull Request so we can add it to the game.

Before you do this, though, we have some requirements so your code doesn't make SS13's infamous spaghetti code problems even worse. Make sure your code fits these requirements or your pull will not be accepted. You may also want to read through the suggestions section.

Code Style Requirements

1. Your code MUST compile.

This is a given. While we will not close your pull request over this, we will not accept it until it does compile cleanly. The Jenkins bot will check for this automatically, but you should check before you even commit.

Note that sometimes a maintainer will screw up and commit bad code to Bleeding-Edge, which may affect your pull. When this happens, we will have Jenkins re-evaluate your pull after we've cleared the problem (and appropriately yelled at whoever caused the mess).

Warnings should also be cleared, but are not a requirement to fix.

2. Variables, functions, and objects must be clearly named.

Pulls adding variables that are nonsensical or overly-abbreviated will not be accepted. Write your code as though you wanted a bunch of drunken idiots to understand it.

Bad:

var/a
var/lol
var/derp
var/herp
proc/lcb(var/p_1,var/p_2)

Acceptable:

var/count
var/html
var/damage_received
proc/localCallback(var/caller,var/params_to_pass)


Note: Using i in a for loop is acceptable, as it's a common practice.

3. Absolute Pathing is Essential

When creating a new atom or proc, please use absolute pathing, which makes it far easier to search for things and breaks up files a bit.

NO:

obj
   item
       flashlight
           var
               on = 0
           proc
               turn_on()

Acceptable:

/obj/item/flashlight
    var/on = 0
/obj/item/flashlight/proc/turn_on()
    ...


Note: Due to reagents being a horrible fucking mess, it is currently permissible to ignore this rule when adding reagents. Please try to make them readable, however.

4. Do not automatically add FILE_DIR.

A recurring problem that we encounter is people adding commits that needlessly spam changes to the DME due to having "Automatically add FILE_DIR" set in their project settings. You'll know if you have this problem if you see this in your commit (as seen through github):

Fucking FILE DIR.png

PRs that add things to FILE_DIR will be rejected.

To fix this problem:

  1. Open up DreamMaker
  2. Build > Preferences for baystation12.dme...
  3. Uncheck "Automatically set FILE_DIR for sub-directories"
  4. Check compile.
  5. Close DreamMaker and commit again.

5. Pull Requests Must Be Atomic

Pull requests must add, remove, or change only ONE feature or related group of features. Do not "bundle" together a bunch of things, as each change may be controversial and hold up everything else. In addition, it's simply neater.

Bugfix-only PRs are exempt from this rule. Everyone loves bugfixes.

Guides of /vg/station 13
New Player Guides
General Help - The Basics - Rules - A Crash Course In Roleplaying - Guide to Construction - Guide to Combat - Terminology - Shortcuts - Troubleshooting
Service Guides
Guide to Cargo Orders - Guide to Food and Drinks - Guide to Hydroponics - Guide to Beekeeping - Guide to Xenobotany - Guide to Vox Hydroponics - Guide to Cash Registers
Medical Guides
Guide to Medicine - Guide to Surgery/Autopsy - Guide to Chemistry - Guide to Virology - Guide to Genetics - Guide to Cloning
Scientific Research Guides
Guide to Research and Development - Guide to Robotics - Guide to Toxins - Guide to Telescience - Guide to Mechanic - Guide to Xenobiology - Guide To Xenoarchaeology
Engineer Guides
Guide to Engineering - Guide to Wiring - Guide to Construction - Guide to Advanced Construction - Guide to Singularity Engine - Guide to Atmospherics - Guide to Solars - Guide to Antimatter Engine (AME) - Guide to Thermoelectric Generator (TEG) - Guide to Supermatter Engine (SME) - Guide to R-UST - Guide to Space Pods - Guide to Telecommunications - Guide to Hacking - Guide to Assemblies
Security and Command Guides
Space Law - Standard Operating Procedure - Guide to Security - Guide to Forensics - Guide to Command - Chain of Command - Guide to Silicon Laws
Antagonist Guides
Guide to Traitor - Guide to Nuclear Operations - Guide to Revolution - Guide to Xenomorph - Guide to Cult of Nar-Sie - Guide to AI Malfunction - Illicit Access - Random Events
Misc Guides
Guide to Hypothermia - Makeshift weapons - Guide to Ghetto Chemistry - Races - Creatures - Guide to Paperwork - List of Pastebins specific to /vg/station - Reading Material - NTSL (Nanotrasen Scripting Language)
Admin and Coder Guides
Guide to Admin Tools - Understanding SS13 Code - Guide to Git CLI - SS13 for Experienced Programmers - Guide to Spriting - Guide to Mapping - Guide to GitHub/Merging Upstream Changes - Getting Your Pull Accepted - DM/BYOND: Undocumented Stuff