Developer notes

x1nixmzeng edited this page Jul 17, 2018 · 10 revisions

Developer environment

Cxbx-Reloaded is developed in C++ using Microsoft Visual Studio 2017 Community.

The older 2015 version might work too.

Debugging during emulation

Since Cxbx-Reloaded launches another process instance of itself for emulation, debugging in Visual Studio doesn't work out of the box.

Follow the developer debugging guide to get started.

How to properly send your code contributions (git)

This is a step-by-step guide to keep your forked copy of Cxbx-Reloaded updated, to create a branch for your work and to send a PR.

If you want more informations about git commands, you can read this free book.

First time setup (aka adding the upstream remote)

You have to follow these steps only the first time you fork Cxbx-Reloaded:

  1. Fork mainline Cxbx-Reloaded repository on GitHub by clicking the "Fork" button (upper-right) and clone it to a local folder.
  2. Open a git shell in the root folder of your cloned repository and paste this command (without quotes): "git remote add upstream https://github.com/Cxbx-Reloaded/Cxbx-Reloaded.git".
  3. Then type (without quotes) "git remote -v". If you see two "origin" and two "upstream"; Congratulations, you have completed the first-time setup!

Keep your fork updated

You have to follow these steps anytime you want to update your forked Cxbx-Reloaded repository:

  1. Open a git shell in the root folder of your cloned repository and paste these commands (without quotes): "git fetch upstream" and then "git checkout master".
  2. Then type (without quotes): "git rebase -i upstream/master" and check if every commit looks good.
  3. You may need to run (without quotes): "git push origin master --force" to update your repository on GitHub.

Create a branch for your new contribution

You must keep the master branch of your forked repository clean, and instead create a new branch for every contribution you want to send.

Before creating a branch, MAKE SURE YOUR FORK IS UP-TO-DATE!

Change "name_of_new_branch" to something meaningful like "fixing-issue-X".

  1. Create a branch using this command (without quotes): "git checkout -b name_of_new_branch".
  2. Switch to your new branch with (without quotes): "git checkout name_of_new_branch".
  3. Push your new branch on GitHub running (without quotes): "git push origin name_of_new_branch".
  4. Now do your work. Once done send a Pull Request directly from GitHub (go to your branch and click "Pull Request").
  5. When your work is merged in mainline, you can safely remove your branch by typing (without quotes): "git checkout master" then "git branch -d name_of_new_branch" and finally "git push origin :name_of_new_branch".
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.