-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Updated CONTRIBUTING.md #33
Merged
Merged
Changes from 6 commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
bdd2a23
Updated CONTRIBUTING.md
lisaychuang 1fcb450
Added General Packages & Project Set up guide
lisaychuang 3d6ee39
Added stack installation guide
lisaychuang 4d48fa7
Updated index link
lisaychuang 885a933
Added stack setup, stack build screenshots
lisaychuang cd5b206
Added Install Netpbm section
lisaychuang 3630eaa
Changed order of stack commands
lisaychuang File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -11,11 +11,11 @@ and all of them would mean so much to this project. | |
* [Contributing code](#contributing-code) | ||
* [Frontend](#frontend-javascripthtmlcss) | ||
* [Backend](#backend-haskell) | ||
* [Running Smooch on your computer](#running-smooch-on-your-computer) | ||
* [Running Smooch on your computer](#run-smooch-on-your-computer) | ||
|
||
## Filing an issue | ||
|
||
You'll need to try and [get Smooch working on your own computer]() first (for | ||
You'll need to try and [get Smooch working on your own computer](https://github.com/emhoracek/smooch/blob/master/CONTRIBUTING.md#run-smooch-on-your-computer) first (for | ||
now anyway), but one of the easiest ways you can contribute to Smooch is by | ||
trying to load a set and see if it works! | ||
|
||
|
@@ -80,7 +80,7 @@ Smooch. | |
* Improve performance | ||
* Move cel and palette parsing into JavaScript from cel2pnm`*` | ||
* Add editing capabilities `*` | ||
* Artists change the layering of cels (raising or lowering in relation to other items) | ||
* Artists can change the layering of cels (raising or lowering in relation to other items) | ||
* Artists can change the offset of a cel in relation its object | ||
* Artists can change which palette a cel uses | ||
* Artists can edit a palette | ||
|
@@ -108,36 +108,91 @@ Items maked a `*` will need work on the frontend as well. | |
|
||
## Run Smooch on your computer | ||
|
||
If any of this is confusing or doesn't work -- don't hesitate to let me know and | ||
If any of this is confusing or doesn't work -- don't hesitate to let me know by opening an issue @emhoracek and | ||
I'll help you out. | ||
|
||
## General Packages | ||
|
||
Please make sure you have the following general software installed | ||
|
||
| Required | Library | Version Range | Notes | | ||
| ------------- | ------------- | ---| --- | | ||
| ✔ | [GCC compiler](https://gcc.gnu.org/) | >= 7.2 | GCC is the compiler for [GNU operating system](http://www.gnu.org/gnu/thegnuproject.html), which includes C, C++, Objective-C, Fortran, Ada, and Go | | ||
| ✔ | [stack](https://docs.haskellstack.org/en/stable/README/#the-haskell-tool-stack) | >= 1.5.1 | `stack` is a Haskell dependency management tool | | ||
| ✔ | [Netpbm](http://brewformulas.org/Netpbm) | >= 10.73.14 | Netpbm is a toolkit for manipulation of graphic images, including conversion of images between a variety of different formats | | ||
| | [Homebrew](https://brew.sh/) | >= 1.3.4 | Homebrew is the missing package manager for macOS | | ||
|
||
### Install `GCC` | ||
|
||
You'll need a C compiler to compile the `cel2pnm` program for smooch, let's install the GCC compiler. | ||
|
||
* On Mac OSX you can use `Homebrew` to install `gcc`, copy and past this command into your Terminal: `brew install gcc` | ||
* On Windows / Linux or other OS, follow the [GCC installation guide](https://gcc.gnu.org/install/). | ||
|
||
 | ||
|
||
### Install `Netpbm` | ||
|
||
This is how the images are converted from the *.pnm format that `cel2pnm` creates into a PNG image that a browser can display. | ||
* On Mac OSX you can use `Homebrew` to install `netpbm`, copy and past this command into your Terminal: `brew install netpbm` | ||
* On Windows / Linux or other OS, follow the [Netpbm installation guide](http://netpbm.sourceforge.net/getting_netpbm.php). | ||
|
||
|
||
### Install `Homebrew` | ||
|
||
Following the [Homebrew install guide here](https://brew.sh/). | ||
* Open your terminal, copy and paste this command into your Terminal: | ||
`/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"` | ||
|
||
## Project setup | ||
|
||
First, clone this project from Github | ||
|
||
``` | ||
git clone https://github.com/emhoracek/smooch.git | ||
cd smooch | ||
``` | ||
 | ||
|
||
|
||
### Install `cel2pnm` | ||
Now change to the `cel2pnm` directory. | ||
|
||
You'll need a C compiler to compile the program. | ||
* Now that you are in the top-level folder of this project, change into the `cel2pnm` directory: `cd cel2pnm` | ||
* Compile Smooch's `cel2pnm` program by running this command: | ||
|
||
On Mac OSX you can use [Homebrew] to install `gcc` with `brew install gcc` | ||
``` | ||
gcc cel2pnm.c -o cel2pnm | ||
``` | ||
 | ||
|
||
Now change to the `cel2pnm` directory. Run `gcc cel2pnm.c -o cel2pnm`. That will | ||
result in the compiled program, `cel2pnm`. | ||
* Put `cel2pnm` in your [$PATH](https://askubuntu.com/questions/551990/what-does-path-mean). | ||
|
||
### Install `stack` | ||
|
||
You'll need `stack` to build Smooch. [`stack`](https://github.com/commercialhaskell/stack) is a Haskell dependency management | ||
tool (kinda like `npm` for JavaScript). | ||
|
||
* Following the `stack` [install guide here](https://docs.haskellstack.org/en/stable/README/#how-to-install) | ||
* Copy and paste this command into your Terminal: | ||
|
||
``` | ||
curl -sSL https://get.haskellstack.org/ | sh | ||
``` | ||
|
||
Put `cel2pnm` in your PATH. | ||
 | ||
|
||
(A really helpful contribution would be to make this section irrelevant by | ||
moving the functionality of `cel2pnm` to JavaScript or Haskell! Or, providing | ||
more documentation of how to compile and install `cel2pnm` on different | ||
platforms.) | ||
* Once you have `stack` installed, change to the `app` directory and run `stack setup`. | ||
This will install the correct Haskell version (this will take a while if you don't already have it). | ||
|
||
### Build Smooch | ||
 | ||
|
||
You'll need `stack` to build Smooch. `stack` is a Haskell dependency management | ||
tool (kinda like `npm` for JavaScript). You can learn how to install it for | ||
various platforms in the [`stack` documentation]. | ||
* Next, run `stack build` which will install project dependencies | ||
 | ||
|
||
Once you have `stack` installed, change to the `haskell` directory and run | ||
`stack setup`. That will install the correct Haskell version (this will take a | ||
while if you don't already have it). | ||
* Next, run `stack install rivet-autoimporter` | ||
|
||
Next, run `stack build`. That will compile the Smooch app. | ||
That will compile the Smooch app. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
|
||
### Setting up your database | ||
|
||
|
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Really like this idea!