No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

138 líneas
10 KiB

hace 6 años
  1. ## Contributing to raylib
  2. Hello contributors! Welcome to raylib!
  3. Do you enjoy raylib and want to contribute? Nice! You can help with the following points:
  4. - C programming - Can you write/review/test/improve the code?
  5. - Documentation/Tutorials/Example - Can you write some tutorial/example?
  6. - Web Development - Can you help [with the web](https://github.com/raysan5/raylib.com)?
  7. - Porting to other platforms - Can you port and compile raylib on another systems?
  8. - Testing - Can you find some bugs on raylib?
  9. This document contains a set of guidelines to contribute to the project. These are mostly guidelines, not rules.
  10. Use your best judgement, and feel free to propose changes to this document in a pull-request.
  11. ### raylib philosophy
  12. - raylib is a tool to enjoy videogames programming, every single function in raylib should be a tutorial on itself.
  13. - 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.
  14. - raylib is open source and free; educators and institutions can use this tool to TEACH videogames programming completely by free.
  15. - raylib is collaborative; contribution of tutorials / code-examples / bugs-solving / code-comments are highly appreciated.
  16. - raylib's license (and its external libs respective licenses) allow using it for commercial products.
  17. ### Some interesting reads to start with
  18. - [raylib history](HISTORY.md)
  19. - [raylib architecture](https://github.com/raysan5/raylib/wiki/raylib-architecture)
  20. - [raylib license](LICENSE.md)
  21. - [raylib roadmap](ROADMAP.md)
  22. [raylib Wiki](https://github.com/raysan5/raylib/wiki) contains some information about the library and is open to anyone for edit.
  23. Feel free to review it if required, just take care not to break something.
  24. ### raylib C coding conventions
  25. Despite being written in C, raylib does not follow the standard Hungarian notation for C,
  26. it [follows Pascal-case/camel-case notation](https://github.com/raysan5/raylib/wiki/raylib-coding-conventions),
  27. more common on C# language. All code formatting decisions have been carefully taken
  28. to make it easier for students to read, write and understand code.
  29. Source code is extensively commented for that purpose, raylib primary learning method is:
  30. > learn by reading code and examples
  31. For detailed information on building raylib and examples, please check [raylib Wiki](https://github.com/raysan5/raylib/wiki).
  32. ### Opening new Issues
  33. To open new issue for raylib (bug, enhancement, discussion...), just try to follow these rules:
  34. - Make sure the issue has not already been reported before by searching on GitHub under Issues.
  35. - If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a
  36. title and clear description, as much relevant information as possible, and a code sample demonstrating the unexpected behavior.
  37. - If applies, attach some screenshot of the issue and a .zip file with the code sample and required resources.
  38. - On issue description, add a brackets tag about the raylib module that relates to this issue.
  39. If don't know the module, just report the issue, I will review it.
  40. - You can check other issues to see how is being done!
  41. ### Sending a Pull-Request
  42. - Make sure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable.
  43. - 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.
  44. - 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
  45. if you cannot test all the platforms.
  46. ### Contact information
  47. If you have any doubt, don't hesitate to [contact me](mailto:ray@raylib.com)!.
  48. You can write me a direct mail but you can also contact me on the following networks:
  49. - [raylib reddit](https://www.reddit.com/r/raylib/) - A good place for discussions or to ask for help.
  50. - [raylib Discord](https://discord.gg/VkzNHUE) - A direct communication channel for project discussions.
  51. - [raylib twitter](https://twitter.com/raysan5) - My personal twitter account, I usually post about raylib, you can send me PMs.
  52. - [raylib web](http://www.raylib.com/) - On top-right corner there is a bunch of networks where you can find me.
  53. Thank you very much for your time! :)
  54. ----
  55. Here is a list of raylib contributors, these people have invested part of their time
  56. contributing (in some way or another) to make the raylib project better. Huge thanks to all of them!
  57. - [Zopokx](https://github.com/Zopokx) for testing the web.
  58. - [Elendow](http://www.elendow.com) for testing and helping on web development.
  59. - Victor Dual for implementing and testing 3D shapes functions.
  60. - Marc Palau for implementing and testing 3D shapes functions and contribute on camera and gestures modules.
  61. - Kevin Gato for improving texture internal formats support and helping on raygui development.
  62. - Daniel Nicolas for improving texture internal formats support and helping on raygui development.
  63. - Marc Agüera for testing and using raylib on a real product ([Koala Seasons](http://www.koalaseasons.com))
  64. - Daniel Moreno for testing and using raylib on a real product ([Koala Seasons](http://www.koalaseasons.com))
  65. - Daniel Gomez for testing and using raylib on a real product ([Koala Seasons](http://www.koalaseasons.com))
  66. - [Sergio Martinez](https://github.com/anidealgift) for helping on raygui development and tools development (raygui_styler).
  67. - [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.
  68. - Albert Martos for helping on raygui and porting examples and game-templates to Android and HTML5.
  69. - Ian Eito for helping on raygui and porting examples and game-templates to Android and HTML5.
  70. - [procedural](https://github.com/procedural) for testing raylib on Linux, correcting some bugs and adding several mouse functions.
  71. - [Chris Hemingway](https://github.com/cHemingway) for improving raylib on OSX build system.
  72. - [Emanuele Petriglia](https://github.com/LelixSuper) for working on multiple GNU/Linux improvements and developing [TicTacToe](https://github.com/LelixSuper/TicTacToe) raylib game.
  73. - [Joshua Reisenauer](https://github.com/kd7tck) for adding audio modules support (XM, MOD) and reviewing audio system.
  74. - [Marcelo Paez](https://github.com/paezao) for helping on OSX High DPI display issue.
  75. - [Ghassan Al-Mashareqa](https://github.com/ghassanpl) for an amazing contribution to raylib Lua module.
  76. - [Teodor Stoenescu](https://github.com/teodor-stoenescu) for improvements on OBJ object loading.
  77. - [RDR8](https://github.com/RDR8) for helping with Linux build improvements.
  78. - [Saggi Mizrahi](https://github.com/ficoos) for multiple fixes on Linux and audio system.
  79. - [Daniel Lemos](https://github.com/xspager) for fixing issues on Linux games building.
  80. - [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)
  81. - [Richard Goodwin](https://github.com/AudioMorphology) for adding RPI touchscreen support.
  82. - [Milan Nikolic](https://github.com/gen2brain) for adding Android build support with custom standalone toolchain.
  83. - [Michael Vetter](https://github.com/jubalh) for improvements on build system and his work on Suse Linux package... and multiple fixes!
  84. - [Wilhem Barbier](https://github.com/nounoursheureux) for adding Image generation functions and some fixes.
  85. - [Benjamin Summerton](https://github.com/define-private-public) for improving OSX building and his amazing work on CMake build sytem.
  86. - [MartinFX](https://github.com/Martinfx) for adding compilation support for FreeBSD OS and derivatives.
  87. - [Wilhem Barbier](https://github.com/nounoursheureux) for supporting default shaders on shader loading, if shader not provided.
  88. - [Ahmad Fatoum](https://github.com/a3f) for implementing CI support for raylib (Travis and AppVeyor) and great improvements on build system.
  89. - [SamNChiet](https://github.com/SamNChiet) for a greatly improved UWP input implementation.
  90. - [David Reid](https://github.com/mackron) for a complete review of audio module to support his amazing miniaudio library.
  91. - [Kai](https://github.com/questor) for multiple code reviews and improvements.
  92. - [RDR8](https://github.com/RDR8) for improvements on Makefiles for Linux.
  93. - [Max Danielsson](https://github.com/autious) for adding support for orthographic 3d camera projection
  94. - [Lumaio](https://github.com/TheLumaio) for his great work on GBuffers and GetCollisionRayModel().
  95. - [Jonas Daeyaert](https://github.com/culacant) for an amazing work on IQM animated models support.
  96. - [Seth Archambault](https://github.com/SethArchambault) for the work on Android Gamepad support (SNES model).
  97. - [D3nX](https://github.com/D3nX) for adding Code::Blocks project template.
  98. - [Jak Barnes](https://github.com/Syphonx) for a great work on `rnet`, new raylib network module
  99. - [Vlad Adrian](https://github.com/Demizdor) for an amazing work on Unicode support, new shapes functions and raygui.
  100. - [Reece Mackie](https://github.com/Rover656) for a great work on improving UWP support
  101. - [flashback-fx](flashback-fx) for improving easings library and example
  102. - [Jorge A. Gomes](https://github.com/overdev) for adding nine-patch textures support and example
  103. - [Berni8k](https://github.com/Berni8k) for improving Raspberry Pi input system, using evdev
  104. - [Wilhem Barbier](https://github.com/wbrbr) for implementing glTF loading support and solving several issues
  105. - [Marco Lizza](https://github.com/MarcoLizza) for improving logging system and multiple issues
  106. - [Anata](https://github.com/anatagawa) for creating amazing examples and contributing with them
  107. - [Narice](https://github.com/narice) made easings.h includable as standalone header
  108. - [Eric J.](https://github.com/ProfJski) for shaders_eratosthenes example contribution
  109. - [PompPenguin](https://github.com/PompPenguin) for reviewing 3rd person camera
  110. - [Mohamed Shazan](https://github.com/msmshazan) for adding support for ANGLE graphics backend
  111. Please, if I forget someone in this list, excuse me and send a PR!