You can contribuite to RED4ext.SDK with issues, ideas and PRs. Simply filling issues or propose new ideas is a great way to contribute.
The issue tracker is exclusively for filling and discussing bugs and featurerequests, it is not for scripting support (e.g. How do I get X handler?
, How can I call X function?
, etc.). For any other kind of discussion use discussions.
Before filing a bug report or requesting a new features ensure the bug reproduces on the latest version of the library and search existing issues and make sure this issue is not already filed.
The project is using C++20, any C++20 features are allowed.
- Use EditorConfig and clang-format to style your code before pushing.
- Use names that describe the purpose or intent of the object. Names should be self-explanatory and easily recognizable in the context.
- Minimize the use of abbreviations that would likely be unknown to someone outside of the project.
- Use
auto
whenever it is possible, if the intended type is the correct one (in case of primitive types). - Brackets (
{}
) must be on new line.
- Namespaces must be
PascalCase
. - The code must be in
RED4ext
namespace, even reversed types.
- Class names must be
PascalCase
. - Use
class
andstruct
acordingly.- A rule of thumb is to use
struct
for reversed types or objects that carry data, for everything else useclass
.
- A rule of thumb is to use
- Function names should be
PascalCase
.
- Class data members should be prefixed with
m_
. - Function arguments should be prefixed with an
a
(argument). - Local variables should be
camelCase
. - Structs data members are named like ordinary variables.
- Enumerators names must be
PascalCase
. - Always use
enum class
overenum
.
- Marcos should named with uppercase letters.
- Prefix macros with
RED4EXT_
.
Please try to format commit messages as follows (based on A Note About Git Commit Messages):
Short (50 characters or less) summary
Provide a more detailed (72 characters or so) text after the first line,
if necessary, leave one blank line below the summary.
If the commit fixes an issue, leave another blank line after the final paragraph
and indicate which issue is fixed.
Fix #1
The project is licensed under the MIT license detailed in LICENSE.md file. All incoming code is subject to the project's LICENSE.
Do not use code that is not yours or is not compatible with the project's LICENSE.