-
Notifications
You must be signed in to change notification settings - Fork 40
How to contribute
You can help this project by creating issues, commenting, reviewing code or sending your code changes.
If you've found a bug in vanilla game engine or current version of sfall, create an issue and provide as much information as you can: step-by-step instructions to reproduce the issue, version of sfall and game EXE used, mods installed, full scripts you are trying to use, screenshots, etc.
What if you want some engine feature? First make sure this is impossible to achieve using existing engine mods or scripting. Create an issue and explain why do you think this feature is useful (or how you are going to use it). In this way, people can collaborate and maybe others will find a cleaner and easier way to achieve your goal than what you originally imagined.
Remember, this is an open source project, so the best way to get the feature you want is to do it yourself! Also, there are a quite a few issues already awaiting to be implemented. So you if you don't want specific feature but want to help out - feel free to grab some issue and implement/fix it!
The preferred way to contribute code is to create standard GitHub pull requests. Make sure to choose the correct branch to start your changes from and to send your PR to:
- develop - this is the most recent branch of sfall being developed. It has considerably different code/file structure from older 3.x codebase, but this is the branch for all future improvements. So we encourage to use this branch for all your pull requests by default.
- 3.8-maintenance - this branch is for the old 3.8.* versions. Starting from June 2018, this branch is moved into "pure maintenance" mode. All pull requests about new engine bug fixes, features, and script functions should use develop branch instead.
While you can of course send pull requests to master branch as usual, it might be less efficient because master branch only contains latest stable version of code, which may be quite different from develop (thus, someone will have to manually resolve all possible conflicts).