Here are some things you can do to help contribute!
- Bug Review & Search
- Wiki / Code Documentation
- Optimizations
- Feature Implementations or Requests
- Become a GitHub Sponsor
For example the render system function r_window_should_close()
which is used to tell if the window is requested to close. It should return uint8_t
instead of int
int8_t
or unsigned int
.
Do to this, standard bool returns should be 0 = false
and 1 = true
or alternatively 0 = fail
1 = success
.
Instead of returning whatever the error type is, set the context's error flag to whatever the designated error code should be.
In attempts to prevent global declarations, each system should have a _ctx
type to hold any variables commonly be globally declared. For example, render has r_ctx
and audio a_ctx
.
Not GNU99 or using a lot of compiler extensions. Simplicity is key.
Not strictly held, but seriously considered.
To keep code consistently formatted with the rest it's asked to run clang-format on whatever code being submitted / added:
"AllowShortIfStatementsOnASingleLine" : "false",
"IndentCaseLabels" : "true",
"IndentWidth" : 2,
"PointerAlignment" : "Left",
"TabWidth" : 2,
"AlignConsecutiveMacros" : "true",
"AlignConsecutiveAssignments" : "true",
"AlignConsecutiveDeclarations" : "true",
"AlignEscapedNewlines" : "true",
"AlignTrailingComments" : "true",
"AlignOperands" : "true",
"AllowShortBlocksOnASingleLine" : "true",
"AllowShortFunctionsOnASingleLine" : "true",
"ColumnLimit" : 80,
"KeepEmptyLinesAtTheStartOfBlocks" : "false",
"SortIncludes" : "false",
"SpaceAfterCStyleCast" : "false"
Where possible, exceptions can be made.
Simple enough, unix shell / bash scripts should be ran thru shell-check in order to catch any edge cases.