This repository contains the source code for Seed of Andromeda.
This guide will walk you through setting up as a contributor to the Seed of Andromeda project. There is a basic requirement of having several packages installed prior to being able to develop. We support all three major operating systems: Windows, Mac and Linux.
Before beginning your SoA journey, please take a moment to use the following resources to get an idea of how to contribute, what you might be able to contribute to specifically, and to meet some of the other contributors.
IMPORTANT: Before following any of the instructions linked below for the platforms we support, please do take a second to fork the repository! If you are new to GitHub, you can do so by clicking the "fork" button on the top right of this page.
If you have cloned the repository before forking, no worries! We can fix it, by following these instructions.
Now we're forked, follow the link to the section on setting up for your OS of choice:
Now you have a copy of the code, and perhaps have played with it a little, why not give it a whirl?
- Compiler: Microsoft Visual Studio 2015 (only)
- Software Version Control: Git
- (Optional) MSVS SVC Plugin: MSVS Git Plugin
- (Optional) TortoiseGit: tortoisegit
- Open a dos window.
Windows R
cmd
- Create a folder to hold the repositories
cd c:\
mkdir -p repos
- Clone the Seed of Andromeda repositories
c:\
cd c:\repos
git clone --recurse-submodules https://github.com/YOUR_GITHUB_NAME/SoACode-Public.git soa
cd c:\repos\soa
- Set origin of submodules to your forked repositories
# Assuming we're already inside the top-level directory of your SoACode-Public repository.
cd Vorb
git remote set-url origin https://github.com/YOUR_GITHUB_NAME/Vorb.git
cd game
git remote set-url origin https://github.com/YOUR_GITHUB_NAME/SoAGameData.git
If you haven't forked, either Vorb or SoAGameData as you don't intend to contribute to that repository, then you don't need to run the commands corresponding to that repository.
- Compiler: Xcode
- Software Version Control: Git
Optionally, with Homebrew:
brew install git
- Preferred editor: Sublime Text and optional packages
- PackageControl
- CMake - CMake.tmLanguage
- GitGutter - A Sublime Text 2/3 plugin to see git diff in gutter
- SublimeCodeIntel - Full-featured code intelligence and smart autocomplete engine
- SublimeLinter -- Interactive code linting framework for Sublime Text 3
- SublimeLinter-cpplint -- This linter plugin for SublimeLinter provides an interface to cpplint.
- SublimeLinter-pep8 - SublimeLinter plugin for python, using pep8.
- SublimeLinter-contrib-clang - https://sublime.wbond.net/packages/SublimeLinter-contrib-clang
- Open a terminal.
cmd space
Terminal
- Create a folder to hold the repositories
mkdir ~/repos
- Clone the Seed of Andromeda repositories
cd ~/repos
git clone --recurse-submodules https://github.com/YOUR_GITHUB_NAME/SoACode-Public.git soa
cd ~/repos/soa
- Set origin of submodules to your forked repositories
# Assuming we're already inside the top-level directory of your SoACode-Public repository.
cd Vorb
git remote set-url origin https://github.com/YOUR_GITHUB_NAME/Vorb.git
cd game
git remote set-url origin https://github.com/YOUR_GITHUB_NAME/SoAGameData.git
If you haven't forked, either Vorb or SoAGameData as you don't intend to contribute to that repository, then you don't need to run the commands corresponding to that repository.
- Compiler: gcc or clang
- Install per your preferred operating system package control...
- Portage:
sudo emerge -DuNqa gcc # for gcc sudo emerge -DuNqa clang # for clang
- PacMan:
sudo pacman -S gcc sudo pacman -S clang
- Apt:
sudo apt-get install gcc sudo apt-get install clang
- Yum:
sudo yum install gcc sudo yum install clang
- Software Version Control: Git
- Portage:
sudo emerge -DuNqa git
- PacMan:
sudo pacman -S git
- Apt:
sudo apt-get install git
- Yum:
sudo yum install git
- Open a terminal.
- Create a folder to hold the repositories
mkdir ~/repos
- Clone the Seed of Andromeda repositories
cd ~/repos
git clone --recurse-submodules https://github.com/YOUR_GITHUB_NAME/SoACode-Public.git soa
cd ~/repos/soa
- Pull latest code (from inside .../repos/soa)
git checkout develop # or your current branch
git pull --recurse-submodules
- Run the build script (--help for options)
- Windows:
build.bat # or compile from within your Visual Studio environment
- Linux:
./build.sh
- Run the built executable
- Windows:
build/SoA/launch-soa-{Release|Debug}.cmd # or launch from within your Visual Studio environment
- Linux:
./build/SoA/launch-soa.sh
- Set origin of submodules to your forked repositories
# Assuming we're already inside the top-level directory of your SoACode-Public repository.
cd Vorb
git remote set-url origin https://github.com/YOUR_GITHUB_NAME/Vorb.git
cd game
git remote set-url origin https://github.com/YOUR_GITHUB_NAME/SoAGameData.git
If you haven't forked, either Vorb or SoAGameData as you don't intend to contribute to that repository, then you don't need to run the commands corresponding to that repository.
So, you've accidentally cloned the repository before forking it, eh? No problem. Just run the following git commands inside of the repository and everything will be as it should be!
Firstly, if you still haven't, fork the repositories you want to contribute to!
Now you have a fork we want to set origin
of each of your local repositories (which is the default remote repository to push changes to) to your corresponding forked repositories:
# Assuming we're already inside the top-level directory of your SoACode-Public repository.
git remote set-url origin https://github.com/YOUR_GITHUB_NAME/SoACode-Public.git
cd Vorb
git remote set-url origin https://github.com/YOUR_GITHUB_NAME/Vorb.git
cd game
git remote set-url origin https://github.com/YOUR_GITHUB_NAME/SoAGameData.git
If you haven't forked, either Vorb or SoAGameData as you don't intend to contribute to that repository, then you don't need to do run the commands corresponding to that repository.
That's it! It's all fixed. :)