From bd4aa2459f007aee27b087740a9609574bd8e706 Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 18 Dec 2017 12:06:58 +0100 Subject: Create CONTRIBUTING.md --- CONTRIBUTING.md | 143 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 143 insertions(+) create mode 100644 CONTRIBUTING.md (limited to 'CONTRIBUTING.md') diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..dddb38ed --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,143 @@ +## Contributing to raylib + +Hello contributors! Welcome to raylib! + +This document contains a set of guidelines to contribute to the project. These are mostly guidelines, not rules. +Use your best judgement, and feel free to propose changes to this document in a pull-request. + +### raylib philosophy + + - raylib is a tool to LEARN videogames programming, every single function in raylib should be a tutorial on itself. + - raylib is SIMPLE and EASY-TO-USE, I tried to keep it compact with a small set of functions, if a function is too complex or has not a clear usefulness, better not to include it. + - raylib is open source and free; educators and institutions can use this tool to TEACH videogames programming completely by free. + - raylib is collaborative; contribution of tutorials / code-examples / bugs-solving / code-comments are highly appreciated. + - raylib's license (and its external libs respective licenses) allow using it for commercial products. + +### Some interesting reads to start with + + - [raylib history](HISTORY.md) + - [raylib architecture](https://github.com/raysan5/raylib/wiki/raylib-architecture) + - [raylib license](LICENSE.md) + - [raylib roadmap](ROADMAP.md) + +[raylib Wiki](https://github.com/raysan5/raylib/wiki) contains some information about the library and is open to anyone for edit. +Feel free to review it if required, just take care not to break anything. + +### Using raylib develop branch + +raylib [master branch](https://github.com/raysan5/raylib) contains latest raylib release but all +the future work is always done on [develop branch](https://github.com/raysan5/raylib/tree/develop), +it's far ahead of master and I try to keep it always stable with latest library changes. + +Please, if issuing a bug or sending a pull-request, verify that you're using develop branch. + +Note that while using develop branch predefined Notepad++ building scripts could not work, in that case, +use provided [Makefile](https://github.com/raysan5/raylib/blob/develop/src/Makefile) or [CMake](https://github.com/raysan5/raylib/blob/develop/src/CMakeLists.txt) building systems. + +For detailed information on building raylib and examples, please check [raylib Wiki](https://github.com/raysan5/raylib/wiki). + +### raylib C coding conventions + +Despite being written in C, raylib does not follow the standard hungarian notation for C, +it [follows Pascal-case/camel-case notation](https://github.com/raysan5/raylib/wiki/raylib-coding-conventions), +more common on C# language. All code formatting decisions have been carefully taken +to make it easier for students to read, write and understand code. + +Source code is extensively commented for that pourpose, raylib primary learning method is: + + > learn by reading code and examples + + +### Opening new Issues + +To open new issue for raylib (bug, enhacement, discussion...), just try to follow this rules: + + - Make sure the issue has not already been reported before by searching on GitHub under Issues. + - If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a + title and clear description, as much relevant information as possible, and a code sample demonstrating the unexpected behavior. + - If applies, attach some screenshot of the issue and a .zip file with the code sample and required resources. + - On issue description, add a brackets tag about the raylib module that relates to this issue. + If don't know the module, just report the issue, I will review it. + - You can check other issues to see how is being done! + +### Sending a Pull-Request + +To send a pull-request, first of all, make sure you're sending it to **develop-branch**. Here are some other rules: + + - Make sure thee PR description clearly describes the problem and solution. Include the relevant issue number if applicable. + - Don't send big pull-requests (lots of changelists), they are difficult to review. It's better to send small pull-request, one at a time. + - Verify that changes don't break the build (at least on Windows platform). As many platforms where you can test it, the better, but don't worry + if you can not test all the platforms. + +### raylib bindings + +Some people ported raylib to other languages in form of bindings or wrappers to the library, here it is a list with the ones I'm aware: + + - [raylib C/C++ version (default)](https://github.com/raysan5/raylib) + - [raylib Lua binding](https://github.com/raysan5/raylib-lua) + - [raylib Go binding](https://github.com/gen2brain/raylib-go) + - [raylib Nim binding](https://gitlab.com/define-private-public/raylib-Nim) + - [raylib Crystal binding](https://gitlab.com/Zatherz/cray) + - [raylib Perl wrapper](https://metacpan.org/pod/Graphics::Raylib) + - [raylib Perl frontend](https://github.com/athreef/Alien-raylib) + - raylib Pascal binding with custom IDE (closed-source) + +Usually, raylib bindings follow the convention: `raylib-{language}` + +Let me know if you're writting a new binding for raylib, I will list it here and I usually +provide the icon/logo for that new language binding. + +### contact information + +If you have any doubt, don't hessitate to [contact me](mailto:ray@raylib.com)!. +You can write me a direct mail but you can also contact me on the following networks: + + - [raylib forum](http://forum.raylib.com/) - A good place for discussions or to ask for help. + - [raylib gitter](https://gitter.im/raylib) - A direct communication channel for project discussions. + - [raylib twitter](https://twitter.com/raysan5) - My personal twitter account, I usually post about raylib, you can send me PMs. + - [raylib web](http://www.raylib.com/) - On top-right corner there is a bunch of networks where you can find me. + +Thank you very much for your time! :) + +---- + +Here it is a list of raylib contributors, this people has invested part of their time +contributing (in some way or another) to make raylib project better. Huge thanks to all of them! + + - [Zopokx](https://github.com/Zopokx) for testing the web. + - [Elendow](http://www.elendow.com) for testing and helping on web development. + - Victor Dual for implementing and testing 3D shapes functions. + - Marc Palau for implementing and testing 3D shapes functions and contribute on camera and gestures modules. + - Kevin Gato for improving texture internal formats support and helping on raygui development. + - Daniel Nicolas for improving texture internal formats support and helping on raygui development. + - Marc Agüera for testing and using raylib on a real product ([Koala Seasons](http://www.koalaseasons.com)) + - Daniel Moreno for testing and using raylib on a real product ([Koala Seasons](http://www.koalaseasons.com)) + - Daniel Gomez for testing and using raylib on a real product ([Koala Seasons](http://www.koalaseasons.com)) + - [Sergio Martinez](https://github.com/anidealgift) for helping on raygui development and tools development (raygui_styler). + - [Victor Fisac](https://github.com/victorfisac) for developing physics raylib module (physac) and implementing PBR materials and lighting systems... among multiple other improvements and multiple tools and games. + - Albert Martos for helping on raygui and porting examples and game-templates to Android and HTML5. + - Ian Eito for helping on raygui and porting examples and game-templates to Android and HTML5. + - [procedural](https://github.com/procedural) for testing raylib on Linux, correcting some bugs and adding several mouse functions. + - [Chris Hemingway](https://github.com/cHemingway) for improving raylib on OSX build system. + - [Emanuele Petriglia](https://github.com/LelixSuper) for working on multiple GNU/Linux improvements and developing [TicTacToe](https://github.com/LelixSuper/TicTacToe) raylib game. + - [Joshua Reisenauer](https://github.com/kd7tck) for adding audio modules support (XM, MOD) and reviewing audio system. + - [Marcelo Paez](https://github.com/paezao) for his help on OSX to solve High DPI display issue. Thanks Marcelo! + - [Ghassan Al-Mashareqa](https://github.com/ghassanpl) for his amazing contribution with raylib Lua module, I just work over his code to implement [rlua](https://github.com/raysan5/raylib/blob/master/src/rlua.h) + - [Teodor Stoenescu](https://github.com/teodor-stoenescu) for his improvements on OBJ object loading. + - [RDR8](https://github.com/RDR8) for helping with Linux build improvements + - [Saggi Mizrahi](https://github.com/ficoos) for multiple fixes on Linux and audio system + - [Daniel Lemos](https://github.com/xspager) for fixing issues on Linux games building + - [Joel Davis](https://github.com/joeld42) for adding raycast picking utilities and a [great example](https://github.com/raysan5/raylib/blob/master/examples/models/models_mesh_picking.c) + - [Richard Goodwin](https://github.com/AudioMorphology) for adding RPI touchscreen support + - [Milan Nikolic](https://github.com/gen2brain) for adding Android build support with custom standalone toolchain + - [Michael Vetter](https://github.com/jubalh) for improvements on build system and adding meson support for Linux + - [Wilhem Barbier](https://github.com/nounoursheureux) for adding Image generation functions and some fixes + - [Benjamin Summerton](https://github.com/define-private-public) for improving OSX building and his amazing work on CMake build sytem + - [MartinFX](https://github.com/Martinfx) for adding compilation support for FreeBSD OS + - [Wilhem Barbier](https://github.com/nounoursheureux) for supporting default shaders on shader loading, if shader not provided + - [Ahmad Fatoum](https://github.com/a3f) for implementing continuus integration support for raylib (Travis and AppVeyor) and greatly improving build system. + - [SamNChiet](https://github.com/SamNChiet) for his work on UWP inputs implementation. + - [David Reid](https://github.com/mackron) for a complete review of audio module to support his amazing mini_al audio library. + - [Kai](https://github.com/questor) for multiple code reviews and improvements. + +Please, if I forget someone in this list, excuse me and write me an email to remind me to add you! -- cgit v1.2.3 From 647d8b2d53e995224e48daccc4a28b9dcd2c5155 Mon Sep 17 00:00:00 2001 From: Ahmad Fatoum Date: Mon, 18 Dec 2017 15:35:10 +0100 Subject: Remove Alien::raylib from bindings list * `Alien::raylib` downloads raylib, builds it and installs it in the Perl module path (Basically abusing CPAN as package manager) * `Graphics::Raylib::XS` depends on `Alien::raylib` and reexports all C symbols as XS symbols usable in Perl * `Graphics::Raylib` depends on `Graphics::Raylib::XS` and is the actual Perl wrapper with a Perlish API, which users should be using --- CONTRIBUTING.md | 1 - 1 file changed, 1 deletion(-) (limited to 'CONTRIBUTING.md') diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index dddb38ed..5cb11a83 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -79,7 +79,6 @@ Some people ported raylib to other languages in form of bindings or wrappers to - [raylib Nim binding](https://gitlab.com/define-private-public/raylib-Nim) - [raylib Crystal binding](https://gitlab.com/Zatherz/cray) - [raylib Perl wrapper](https://metacpan.org/pod/Graphics::Raylib) - - [raylib Perl frontend](https://github.com/athreef/Alien-raylib) - raylib Pascal binding with custom IDE (closed-source) Usually, raylib bindings follow the convention: `raylib-{language}` -- cgit v1.2.3 From 8d5484bbe0bc589ba92f8859d8878728151aeb86 Mon Sep 17 00:00:00 2001 From: RDR8 Date: Tue, 19 Dec 2017 02:19:43 -0600 Subject: Fix some typos in CONTRIBUTING.md (#422) --- CONTRIBUTING.md | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) (limited to 'CONTRIBUTING.md') diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5cb11a83..8dbc1ced 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -8,7 +8,7 @@ Use your best judgement, and feel free to propose changes to this document in a ### raylib philosophy - raylib is a tool to LEARN videogames programming, every single function in raylib should be a tutorial on itself. - - raylib is SIMPLE and EASY-TO-USE, I tried to keep it compact with a small set of functions, if a function is too complex or has not a clear usefulness, better not to include it. + - raylib is SIMPLE and EASY-TO-USE, I tried to keep it compact with a small set of functions, if a function is too complex or is not clearly useful, better not to include it. - raylib is open source and free; educators and institutions can use this tool to TEACH videogames programming completely by free. - raylib is collaborative; contribution of tutorials / code-examples / bugs-solving / code-comments are highly appreciated. - raylib's license (and its external libs respective licenses) allow using it for commercial products. @@ -23,6 +23,18 @@ Use your best judgement, and feel free to propose changes to this document in a [raylib Wiki](https://github.com/raysan5/raylib/wiki) contains some information about the library and is open to anyone for edit. Feel free to review it if required, just take care not to break anything. +### raylib C coding conventions + +Despite being written in C, raylib does not follow the standard Hungarian notation for C, +it [follows Pascal-case/camel-case notation](https://github.com/raysan5/raylib/wiki/raylib-coding-conventions), +more common on C# language. All code formatting decisions have been carefully taken +to make it easier for students to read, write and understand code. + +Source code is extensively commented for that purpose, raylib primary learning method is: + + > learn by reading code and examples + + ### Using raylib develop branch raylib [master branch](https://github.com/raysan5/raylib) contains latest raylib release but all @@ -36,21 +48,9 @@ use provided [Makefile](https://github.com/raysan5/raylib/blob/develop/src/Makef For detailed information on building raylib and examples, please check [raylib Wiki](https://github.com/raysan5/raylib/wiki). -### raylib C coding conventions - -Despite being written in C, raylib does not follow the standard hungarian notation for C, -it [follows Pascal-case/camel-case notation](https://github.com/raysan5/raylib/wiki/raylib-coding-conventions), -more common on C# language. All code formatting decisions have been carefully taken -to make it easier for students to read, write and understand code. - -Source code is extensively commented for that pourpose, raylib primary learning method is: - - > learn by reading code and examples - - ### Opening new Issues -To open new issue for raylib (bug, enhacement, discussion...), just try to follow this rules: +To open new issue for raylib (bug, enhacement, discussion...), just try to follow these rules: - Make sure the issue has not already been reported before by searching on GitHub under Issues. - If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a @@ -62,16 +62,16 @@ To open new issue for raylib (bug, enhacement, discussion...), just try to follo ### Sending a Pull-Request -To send a pull-request, first of all, make sure you're sending it to **develop-branch**. Here are some other rules: +To send a pull-request, first of all, make sure you're sending it to [develop branch](https://github.com/raysan5/raylib/tree/develop). Here are some other rules: - - Make sure thee PR description clearly describes the problem and solution. Include the relevant issue number if applicable. + - Make sure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable. - Don't send big pull-requests (lots of changelists), they are difficult to review. It's better to send small pull-request, one at a time. - Verify that changes don't break the build (at least on Windows platform). As many platforms where you can test it, the better, but don't worry - if you can not test all the platforms. + if you cannot test all the platforms. ### raylib bindings -Some people ported raylib to other languages in form of bindings or wrappers to the library, here it is a list with the ones I'm aware: +Some people ported raylib to other languages in form of bindings or wrappers to the library, here is a list with the ones I'm aware of: - [raylib C/C++ version (default)](https://github.com/raysan5/raylib) - [raylib Lua binding](https://github.com/raysan5/raylib-lua) @@ -83,12 +83,12 @@ Some people ported raylib to other languages in form of bindings or wrappers to Usually, raylib bindings follow the convention: `raylib-{language}` -Let me know if you're writting a new binding for raylib, I will list it here and I usually +Let me know if you're writing a new binding for raylib, I will list it here and I usually provide the icon/logo for that new language binding. -### contact information +### Contact information -If you have any doubt, don't hessitate to [contact me](mailto:ray@raylib.com)!. +If you have any doubt, don't hesitate to [contact me](mailto:ray@raylib.com)!. You can write me a direct mail but you can also contact me on the following networks: - [raylib forum](http://forum.raylib.com/) - A good place for discussions or to ask for help. @@ -100,8 +100,8 @@ Thank you very much for your time! :) ---- -Here it is a list of raylib contributors, this people has invested part of their time -contributing (in some way or another) to make raylib project better. Huge thanks to all of them! +Here is a list of raylib contributors, these people have invested part of their time +contributing (in some way or another) to make the raylib project better. Huge thanks to all of them! - [Zopokx](https://github.com/Zopokx) for testing the web. - [Elendow](http://www.elendow.com) for testing and helping on web development. -- cgit v1.2.3 From 22e72cb0a1795c642505ad86106e26effbe18310 Mon Sep 17 00:00:00 2001 From: RDR8 Date: Tue, 19 Dec 2017 02:27:12 -0600 Subject: Update CONTRIBUTING.md --- CONTRIBUTING.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'CONTRIBUTING.md') diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8dbc1ced..26f15156 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -37,7 +37,7 @@ Source code is extensively commented for that purpose, raylib primary learning m ### Using raylib develop branch -raylib [master branch](https://github.com/raysan5/raylib) contains latest raylib release but all +raylib [master branch](https://github.com/raysan5/raylib) contains the latest raylib release but all the future work is always done on [develop branch](https://github.com/raysan5/raylib/tree/develop), it's far ahead of master and I try to keep it always stable with latest library changes. @@ -50,7 +50,7 @@ For detailed information on building raylib and examples, please check [raylib W ### Opening new Issues -To open new issue for raylib (bug, enhacement, discussion...), just try to follow these rules: +To open new issue for raylib (bug, enhancement, discussion...), just try to follow these rules: - Make sure the issue has not already been reported before by searching on GitHub under Issues. - If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a -- cgit v1.2.3 From 1652943f98086b29bdafc0e42359412a6ad993cd Mon Sep 17 00:00:00 2001 From: Ahmad Fatoum Date: Mon, 19 Feb 2018 13:58:25 +0100 Subject: Docs: Replace references to raylib develop branch Found by grepping for '(blob|tree)/develop'. See #443 for more information. --- CONTRIBUTING.md | 14 -------------- LICENSE.md | 6 +++--- ROADMAP.md | 2 +- 3 files changed, 4 insertions(+), 18 deletions(-) (limited to 'CONTRIBUTING.md') diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 26f15156..28a853a9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -34,18 +34,6 @@ Source code is extensively commented for that purpose, raylib primary learning m > learn by reading code and examples - -### Using raylib develop branch - -raylib [master branch](https://github.com/raysan5/raylib) contains the latest raylib release but all -the future work is always done on [develop branch](https://github.com/raysan5/raylib/tree/develop), -it's far ahead of master and I try to keep it always stable with latest library changes. - -Please, if issuing a bug or sending a pull-request, verify that you're using develop branch. - -Note that while using develop branch predefined Notepad++ building scripts could not work, in that case, -use provided [Makefile](https://github.com/raysan5/raylib/blob/develop/src/Makefile) or [CMake](https://github.com/raysan5/raylib/blob/develop/src/CMakeLists.txt) building systems. - For detailed information on building raylib and examples, please check [raylib Wiki](https://github.com/raysan5/raylib/wiki). ### Opening new Issues @@ -62,8 +50,6 @@ To open new issue for raylib (bug, enhancement, discussion...), just try to foll ### Sending a Pull-Request -To send a pull-request, first of all, make sure you're sending it to [develop branch](https://github.com/raysan5/raylib/tree/develop). Here are some other rules: - - Make sure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable. - Don't send big pull-requests (lots of changelists), they are difficult to review. It's better to send small pull-request, one at a time. - Verify that changes don't break the build (at least on Windows platform). As many platforms where you can test it, the better, but don't worry diff --git a/LICENSE.md b/LICENSE.md index dd026c7b..248738ef 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -27,7 +27,7 @@ applications, and to alter it and redistribute it freely, subject to the followi fonts ------ -The following fonts [provided with raylib](https://github.com/raysan5/raylib/tree/develop/examples/text/resources/fonts) are free to use (freeware) and have been designed by the following people: +The following fonts [provided with raylib](https://github.com/raysan5/raylib/tree/master/examples/text/resources/fonts) are free to use (freeware) and have been designed by the following people: * Alpha Beta - Brian Kent (AEnigma) * Setback - Brian Kent (AEnigma) @@ -41,9 +41,9 @@ The following fonts [provided with raylib](https://github.com/raysan5/raylib/tre 2d art ------ -[scarfy spritesheet](https://github.com/raysan5/raylib/blob/develop/examples/textures/resources/scarfy.png) and [fudesumi image](https://github.com/raysan5/raylib/blob/develop/examples/textures/resources/fudesumi.png) have been created by [Eiden Marsal](https://www.artstation.com/artist/marshall_z) and licensed as [Creative Commons Attribution-NonCommercial 3.0](https://creativecommons.org/licenses/by-nc/3.0/legalcode) +[scarfy spritesheet](https://github.com/raysan5/raylib/blob/master/examples/textures/resources/scarfy.png) and [fudesumi image](https://github.com/raysan5/raylib/blob/master/examples/textures/resources/fudesumi.png) have been created by [Eiden Marsal](https://www.artstation.com/artist/marshall_z) and licensed as [Creative Commons Attribution-NonCommercial 3.0](https://creativecommons.org/licenses/by-nc/3.0/legalcode) 3d models --------- -[dwarf 3d model and textures](https://github.com/raysan5/raylib/tree/develop/examples/models/resources/model) have been created by David Moreno and licensed as [Creative Commons Attribution-NonCommercial 3.0](https://creativecommons.org/licenses/by-nc/3.0/legalcode) +[dwarf 3d model and textures](https://github.com/raysan5/raylib/tree/master/examples/models/resources/model) have been created by David Moreno and licensed as [Creative Commons Attribution-NonCommercial 3.0](https://creativecommons.org/licenses/by-nc/3.0/legalcode) diff --git a/ROADMAP.md b/ROADMAP.md index 66b496ad..50a11ce6 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -4,7 +4,7 @@ roadmap Current version of raylib is complete and functional but there is still a lot of room for improvement. Here it is a wish-list with features and ideas to improve the library. -Note that [raylib source code](https://github.com/raysan5/raylib/tree/develop/src) has some *TODO* marks around code with pending things to review and improve. Check [GitHub Issues](https://github.com/raysan5/raylib/issues) for further details! +Note that [raylib source code](https://github.com/raysan5/raylib/tree/master/src) has some *TODO* marks around code with pending things to review and improve. Check [GitHub Issues](https://github.com/raysan5/raylib/issues) for further details! **raylib 1.x** - [ ] Basic GPU stats sytem (memory, draws, time...) -- cgit v1.2.3