-
Notifications
You must be signed in to change notification settings - Fork 271
Developer notes
Cxbx-Reloaded is developed in C++ using Microsoft Visual Studio 2019 Community.
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.
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 information about git commands, you can read this free book.
You have to follow these steps only the first time you fork Cxbx-Reloaded:
- Fork mainline Cxbx-Reloaded repository on GitHub by clicking the "Fork" button (upper-right) and clone it to a local folder.
- Open a git shell in the root folder of your cloned repository and run this command:
git remote add upstream https://github.com/Cxbx-Reloaded/Cxbx-Reloaded.git - Run
git remote -v. If you see two "origin" and two "upstream"; Congratulations, you have completed the first-time setup!
You have to follow these steps anytime you want to update your forked Cxbx-Reloaded repository:
- Open a git shell in the root folder of your cloned repository and run these commands:
git fetch upstreamgit checkout master
- Then run
git rebase -i upstream/masterand check if every commit looks good. - You may need to run
git push origin master --forceto update your repository on GitHub.
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".
- Create a branch using this command:
git checkout -b name_of_new_branch - Switch to your new branch with:
git checkout name_of_new_branch - Push your new branch on GitHub running:
git push origin name_of_new_branch - Now do your work. Once done send a Pull Request directly from GitHub (go to your branch and click "Pull Request")
- When your work is merged in mainline, you can safely remove your branch by typing:
git checkout mastergit branch -d name_of_new_branchgit push origin :name_of_new_branch
Usage:
- Overview of the project & Glossary of terms
- Frequently Asked Questions (FAQ)
- Shortcut Keys
- Known Hardware Bugs
Development:
- Cxbx Reloaded overview
- Developer notes
- Child Process Debugging
- Developing Homebrew and test programs
- HLE v2 Database Method
- Maintaining OOVPAs for HLE function detection
- OOVPA sorting
- Updating a sub moduled Git repository
- Rebase Line Ending Fix
- Xbox D3D drawing via NV2A Kelvin
Other links: