# Small coding projects to help out with cataclysm

**URL:** <https://discourse.cataclysmdda.org/t/small-coding-projects-to-help-out-with-cataclysm/3706>\
**Category:** The Bunker\
**Created:** [October 29, 2013, 2:23pm UTC](https://discourse.cataclysmdda.org/t/small-coding-projects-to-help-out-with-cataclysm/3706 "2013-10-29T14:23:35Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![youtoo](https://avatars.discourse-cdn.com/v4/letter/y/779978/32.png) [@youtoo](https://discourse.cataclysmdda.org/u/youtoo)\
**Post date:** [October 29, 2013, 2:23pm UTC](https://discourse.cataclysmdda.org/t/small-coding-projects-to-help-out-with-cataclysm/3706/1 "2013-10-29T14:23:35Z")

</div>

To the developers: what are some smaller projects that you guys could use help with ? I am not very good with C. I am sure there are others out there that would like to help out. We don’t want to dump alot of junk into github that may not merge well. What are some small things we can help with?

what about stuff that is already in jsons? What are some smaller projects that those of us that are not as adept at could help out with without getting in your way.

---

<div class="post-metadata">

**Author:** ![kevin.granade](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/kevin.granade/32/1316_2.png) [@kevin.granade](https://discourse.cataclysmdda.org/u/kevin.granade)\
**Post date:** [October 29, 2013, 2:55pm UTC](https://discourse.cataclysmdda.org/t/small-coding-projects-to-help-out-with-cataclysm/3706/2 "2013-10-29T14:55:43Z")

</div>

There’s actually a ton of stuff in json, so tweaking that is an easy entry point (by design).  
Also we try and mark issues as “easy fix” if we think they will be, so check out the filtered list of issues at [https://github.com/CleverRaven/Cataclysm-DDA/issues?labels=Easy-fix&page=1&state=open](https://github.com/CleverRaven/Cataclysm-DDA/issues?labels=Easy-fix&page=1&state=open)  
(Yes, some will turn out to not be all that easy, the label is a guess)  
Another relatively easy task is to import building layouts people have posted on the forums into the code in mapgen.cpp. A lot of this code is a bit of a mess, but adding a building layout is actually quite simple, since it’s wrapped in a function that accepts an almost graphical layout. We could really use a guide for how that works too.

---

<div class="post-metadata">

**Author:** ![i2amroy](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/i2amroy/32/909_2.png) [@i2amroy](https://discourse.cataclysmdda.org/u/i2amroy)\
**Post date:** [October 29, 2013, 3:18pm UTC](https://discourse.cataclysmdda.org/t/small-coding-projects-to-help-out-with-cataclysm/3706/3 "2013-10-29T15:18:23Z")

</div>

> [@Kevin Granade](#):
>
> Another relatively easy task is to import building layouts people have posted on the forums into the code in mapgen.cpp. A lot of this code is a bit of a mess, but adding a building layout is actually quite simple, since it’s wrapped in a function that accepts an almost graphical layout. We could really use a guide for how that works too.

Actually don’t import it into mapgen.cpp if possible. You will want to put it into the building\_generation.cpp/.h files and then link to it in the mapgen.cpp file (just copy the format that the early buildings in mapgen.cpp/building\_generation.cpp/.h follow).

---

<div class="post-metadata">

**Author:** ![youtoo](https://avatars.discourse-cdn.com/v4/letter/y/779978/32.png) [@youtoo](https://discourse.cataclysmdda.org/u/youtoo)\
**Post date:** [October 29, 2013, 5:31pm UTC](https://discourse.cataclysmdda.org/t/small-coding-projects-to-help-out-with-cataclysm/3706/4 "2013-10-29T17:31:01Z")

</div>

thanks. I started looking at the code last night. Ill look at it some more before I upload stuff. I dont want to waste anyones time by dumping a bunch of bugs.

when I upload code, github will set up a branch right?

---

<div class="post-metadata">

**Author:** ![i2amroy](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/i2amroy/32/909_2.png) [@i2amroy](https://discourse.cataclysmdda.org/u/i2amroy)\
**Post date:** [October 29, 2013, 5:47pm UTC](https://discourse.cataclysmdda.org/t/small-coding-projects-to-help-out-with-cataclysm/3706/5 "2013-10-29T17:47:00Z")

</div>

The best way I’ve found to do it is to use the github app (just google “github app”). It’s got a fairly basic UI and takes only minimal online/terminal usage.  
Basic steps to do will be:

1. Go to the CleverRaven github Cata repository online
2. Click the “fork” button in the top right
3. Open up the app and click the “clone” button on your fork (it should be listed)
4. Make a new branch (name it after your changes; always select the “master” branch before doing this step!)
5. Make your changes in the code, commit then and click “sync” (On windows I think the default repository location is Documents/Github).
6. Go to your github Cata repository online
7. Change the branch to the changed one and click the green arrow button
8. Input a description and submit your PR!
9. You can check comments on your PR [here](https://github.com/CleverRaven/Cataclysm-DDA/pulls), once it gets pulled you can delete your branch (do it through the app). If you need to change/update your PR just make your changes in the PR branch locally and then sync them through the app, it will automatically update the online version.

As long as you follow these steps there’s only two other things you need to do:

1. Open up the shell and type “git remote add upstream [https://github.com/CleverRaven/Cataclysm-DDA.git](https://github.com/CleverRaven/Cataclysm-DDA.git)” You should only need to do this once when you first make the repository.
2. When you want to update your main branch (do this anytime before making a new PR branch) switch to your master branch (which you should never be making changes on), open up the shell, and type “git pull upstream master” followed by “git push”.

---

<div class="post-metadata">

**Author:** ![youtoo](https://avatars.discourse-cdn.com/v4/letter/y/779978/32.png) [@youtoo](https://discourse.cataclysmdda.org/u/youtoo)\
**Post date:** [October 30, 2013, 2:37pm UTC](https://discourse.cataclysmdda.org/t/small-coding-projects-to-help-out-with-cataclysm/3706/6 "2013-10-30T14:37:22Z")

</div>

i have used git at work before. i generally have to write the commands down. i found them to be goofy. we should take these instruction and sticky them in the mod section.
