Thank you for contributing!
Create a new issue from here.
- Create a new issue.
- Fork this repository and clone the forked one.
- Set up
upstream
branch:git remote add upstream https:://github.com/YOUR_ACCOUNT/elonafoobar
. - Update local
develop
:git checkout develop && git pull upstream develop
. - Create your working branch from
develop
. Naming conventions are as follows:
- Prepend
feature/
,fix/
orrefactor/
to the short summary of your changes. For example,feature/add-lua-module
fix/map-tile-glitch
refactor/remove-global-variables
- Work and commit your changes. Small commits are prefered.
- Run
make format
ornmake -f Makefile.win format
to format your changed source code.
- Note: If your changed source code is not formatted consistently, continuous integration will not pass.
- Update local
develop
again. - Rebase:
git checkout YOUR_WORKING_BRANCH && git rebase develop
. - Push to your remote branch.
git push origin YOUR_WORKING_BRANCH
. - Create a new pull request.
- Your pull request is reviewed and fix problems if needed.
- Your pull request is merged.
If your changes are big or you need help, you can send a pull request with prefix WIP:
. Pull requests marked as "work in progress" are not merged.
- Create a new file named
lua_api_[module name here].cpp
undersrc/elona/lua_env/lua_api
. - Add functions inside the appropriate namespace.
- Add overrides for functions taking
position_t
so twoint
s can be passed instead.
- Set the binding on the correct table in
elona::lua::LuaApi::bind()
. - Update
.luacheckrc
with the new table value. - Run
make docgen
to generate corresponding LDoc file. (Rust toolchains are required) - Add tests inside
tests/lua_api.cpp
. - Provide a playtest script demonstrating the API in the pull request.
We use Git flow. See http://nvie.com/posts/a-successful-git-branching-model/ for details.
See CODE_STYLE.md.
Follow this format.
Fix crash when calling function xxx()
- Neither
fix
,Fixed
norfixing
. - No period.
- Other appropriate verbs are allowed.