AldaronLau/jl_lib
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
************************* * INTRODUCTION * ************************* JL_LIB is a powerful & easy to use library that uses OpenGL/OpenGLES with SDL2. JL_LIB takes care of any compatibility issues there might be between opengl and opengles and sdl for android and sdl for PC. ************************* * INSTALL * ************************* 1. Set-Up ( Download dependencies & Set up build directories ): - For Android compatibility, make init-all --silent - Without, make init-all-wo-android --silent 2. Build dependencies: - Run, make build-depends --silent 3. Compile Library: - Build for your computer, make build-library --silent - Build for android, make build-android --silent ************************* * CLEAN * ************************* ** use only when you don't want to use current builds anymore! ** 1. How to clean builds of JL-Lib. - Clean all build folders: make clean-all --silent - Clean all dependencies: make clean-deps --silent - Clean all of the build folder: make clean-build --silent ************************* * HOW TO USE * ************************* ************************* * CODE STYLE * ************************* - Indentation is with tabs [ standard length - 8 ] - No more than 3 tabs to start a line, at that point a separate function is needed. - Every function starts with a shortenned project name: JL Lib = "jl" Then is followed by an underscore and a shortenned file name: "jl_sg" After that there's another underscore and then the description. "jl_sg_kill" We'll call "jl_sg" the <NAMESPACE>. - Functions that are static end in "__" - Functions that are ETOM ( Exported To Other Modules ) end in "_" - Functions available to the library user have nothing appended to them. - Whenever a function is a parameter, it doesn't have a <NAMESPACE>. Instead it has a "par__" before the function parameter name. - Each file represents a subsystem. sg.c represents window management. - There are 5 parts to a file separated by comment blocks. /* * JL_lib * Copyright (c) 2015 Jeron A. Lau */ /** \file * examplefile.c * example description **/ // Includes. /************************/ /*** Prototype/Consts ***/ /************************/ // Prototypes & Constants. /*** @cond ***/ /************************/ /*** Static Functions ***/ /************************/ // Where all the static functions go, inline first. /** @endcond **/ /******** ****************/ /*** Global Functions ***/ /************************/ // Where all the global functions go - the ones that // The person who programs has access to. /*** @cond ***/ /************************/ /*** ETOM Functions ***/ /************************/ // Where all the Exported To Other Module functions go // The ones the programmer doesn't have access to but // can't be static. /** @endcond **/ /*** #End of File ***/ - Function naming: - Whenever there's an object being modified by functions use: new create the object. old delete the object. set set the object's data. get get the object's data use start using the object. off stop using the object. rsz resize or redraw the object. rdr redraw the object drw draw the object on the screen. rnl run the object's loop. ist get whether it's initialized/active. - Subsystems Functions: init run when subsystem is initialized. loop run every frame. resz run when window is resized. kill run when subsystem is ready to be shutdown.