Skip to content

Getting started

Don Anderson edited this page Oct 3, 2018 · 22 revisions

Pre-requisites

esp-idf

You must have esp-idf and xtensa compiler toolchain installed. Instructions are here: https://docs.espressif.com/projects/esp-idf/en/latest/get-started/

To build for Host (libsdl2)

On Mac: You just have XCode installed via the app store. Make sure to install the command line tools.

$ xcode-select --install

Follow the instructions in the UI popups.

You must have homebrew installed. Follow the instructions here: https://brew.sh

$ brew install sdl2
$ brew install sdl2_image

On Ubuntu Linux:

$ sudo apt install libsdl2-dev libsdl2-image-dev

On Arch Linux:

$ sudo pacman -S sdl2 sdl2_image

You will also want/need CLion from JetBrains: https://www.jetbrains.com/clion/download It is highly recommended that you get the JetBrains Toolbox App and use it to download your JetBrains IDEs.

To build the documentation (doxygen)

On Mac:

$ brew install doxygen

On Ubuntu Linux:

$ sudo apt install doxygen

On Arch Linux:

$ sudo pacman -S doxygen

Repository set up for development

  1. FORK this repository using the fork button at GitHub.
  2. clone your fork - do not clone this repository!
  3. cd to your working directory
  4. $ git remote add upstream [email protected]:ModusCreateOrg/creative-engine
  5. $ git fetch upstream

You will need to softlink your fork to your game's working set:

# Modus Create's Genus game.  Assumes you've forked both and cloned both to the same parent directory:
$ cd genus
$ ln -s ../creative-engine .

To keep your master branch up to date with this repo:

$ git checkout master
$ git pull upstream master

When you work on an issue/ticket:

$ git checkout master
$ git pull upstream master # up to date!
$ git checkout -b branch-name  # branchname is ticket-number hyphen description

When you commit and push to your branch, you will have the opportunity to create a pull request from your fork against the official/repo.

When you create a pull request, put a link to the GitHub issue in the first post, along with a description of what the PR does.

Note that GitHub automatically creates a link in the PR:

Next, go to the issue and put a link to the PR in a comment:

Or you can just hit # and select from the dropdown:

NOTES

  1. You will have to do the above steps for your game repository, as well.
  2. Don't forget to change back to master branch after making your PR and doing the pull from upstream master
  3. ALWAYS branch from master in your repo, unless you know what you're doing !!!