diff options
| author | jussi | 2023-11-20 21:54:50 +0200 |
|---|---|---|
| committer | jussi | 2023-11-20 21:54:50 +0200 |
| commit | 01883035b03b3d42818a7890fe6e845b0623f022 (patch) | |
| tree | a18f9fb5cb3bb89466b0eaf9452eca2d2874c889 | |
| parent | 05eaafb79e6fa1bebff157e94563334d7ead700b (diff) | |
| download | reilua-enhanced-01883035b03b3d42818a7890fe6e845b0623f022.tar.gz reilua-enhanced-01883035b03b3d42818a7890fe6e845b0623f022.tar.bz2 reilua-enhanced-01883035b03b3d42818a7890fe6e845b0623f022.zip | |
Spline functions.
| -rw-r--r-- | API.md | 110 | ||||
| -rw-r--r-- | ReiLua_API.lua | 135 | ||||
| -rw-r--r-- | changelog | 1 | ||||
| -rw-r--r-- | include/shapes.h | 17 | ||||
| -rw-r--r-- | src/core.c | 2 | ||||
| -rw-r--r-- | src/lua_core.c | 17 | ||||
| -rw-r--r-- | src/shapes.c | 283 |
7 files changed, 562 insertions, 3 deletions
@@ -4168,7 +4168,7 @@ Get a random value between min and max (both included) --- -> sequence = RL.GetRandomValue( int count, int min, int max ) +> sequence = RL.LoadRandomSequence( int count, int min, int max ) Load random values sequence, no values repeated @@ -5259,6 +5259,114 @@ Draw a polygon outline of n sides with extended parameters --- +## Shapes - Splines drawing functions + +--- + +> RL.DrawSplineLinear( Vector2{} points, float thick, Color color ) + +Draw spline: Linear, minimum 2 points + +--- + +> RL.DrawSplineBasis( Vector2{} points, float thick, Color color ) + +Draw spline: B-Spline, minimum 4 points + +--- + +> RL.DrawSplineCatmullRom( Vector2{} points, float thick, Color color ) + +Draw spline: Catmull-Rom, minimum 4 points + +--- + +> RL.DrawSplineBezierQuadratic( Vector2{} points, float thick, Color color ) + +Draw spline: Quadratic Bezier, minimum 3 points (1 control point): [p1, c2, p3, c4...] + +--- + +> RL.DrawSplineBezierCubic( Vector2{} points, float thick, Color color ) + +Draw spline: Cubic Bezier, minimum 4 points (2 control points): [p1, c2, c3, p4, c5, c6...] + +--- + +> RL.DrawSplineSegmentLinear( Vector2 p1, Vector2 p2, float thick, Color color ) + +Draw spline segment: Linear, 2 points + +--- + +> RL.DrawSplineSegmentBasis( Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float thick, Color color ) + +Draw spline segment: B-Spline, 4 points + +--- + +> RL.DrawSplineSegmentCatmullRom( Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float thick, Color color ) + +Draw spline segment: Catmull-Rom, 4 points + +--- + +> RL.DrawSplineSegmentBezierQuadratic( Vector2 p1, Vector2 c2, Vector2 p3, float thick, Color color ) + +Draw spline segment: Quadratic Bezier, 2 points, 1 control point + +--- + +> RL.DrawSplineSegmentBezierCubic( Vector2 p1, Vector2 c2, Vector2 c3, Vector2 p4, float thick, Color color ) + +Draw spline segment: Cubic Bezier, 2 points, 2 control points + +--- + +## Shapes - Spline segment point evaluation functions, for a given t [0.0f .. 1.0f] + +--- + +> point = RL.GetSplinePointLinear( Vector2 startPos, Vector2 endPos, float t ) + +Get (evaluate) spline point: Linear + +- Success return Vector2 + +--- + +> point = RL.GetSplinePointBasis( Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float t ) + +Get (evaluate) spline point: B-Spline + +- Success return Vector2 + +--- + +> point = RL.GetSplinePointCatmullRom( Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float t ) + +Get (evaluate) spline point: Catmull-Rom + +- Success return Vector2 + +--- + +> point = RL.GetSplinePointBezierQuad( Vector2 p1, Vector2 c2, Vector2 p3, float t ) + +Get (evaluate) spline point: Quadratic Bezier + +- Success return Vector2 + +--- + +> point = RL.GetSplinePointBezierCubic( Vector2 p1, Vector2 c2, Vector2 c3, Vector2 p4, float t ) + +Get (evaluate) spline point: Cubic Bezier + +- Success return Vector2 + +--- + ## Shapes - Basic shapes collision detection functions --- diff --git a/ReiLua_API.lua b/ReiLua_API.lua index 9967616..89c7aa7 100644 --- a/ReiLua_API.lua +++ b/ReiLua_API.lua @@ -1695,7 +1695,7 @@ function RL.GetRandomValue( min, max ) end ---@param min integer ---@param max integer ---@return any sequence -function RL.GetRandomValue( count, min, max ) end +function RL.LoadRandomSequence( count, min, max ) end -- Core - Misc @@ -2640,6 +2640,139 @@ function RL.DrawPolyLines( center, sides, radius, rotation, color ) end ---@return any RL.DrawPolyLinesEx function RL.DrawPolyLinesEx( center, sides, radius, rotation, lineThick, color ) end +-- Shapes - Splines drawing functions + +---Draw spline: Linear, minimum 2 points +---@param points table +---@param thick number +---@param color table +---@return any RL.DrawSplineLinear +function RL.DrawSplineLinear( points, thick, color ) end + +---Draw spline: B-Spline, minimum 4 points +---@param points table +---@param thick number +---@param color table +---@return any RL.DrawSplineBasis +function RL.DrawSplineBasis( points, thick, color ) end + +---Draw spline: Catmull-Rom, minimum 4 points +---@param points table +---@param thick number +---@param color table +---@return any RL.DrawSplineCatmullRom +function RL.DrawSplineCatmullRom( points, thick, color ) end + +---Draw spline: Quadratic Bezier, minimum 3 points (1 control point): [p1, c2, p3, c4...] +---@param points table +---@param thick number +---@param color table +---@return any RL.DrawSplineBezierQuadratic +function RL.DrawSplineBezierQuadratic( points, thick, color ) end + +---Draw spline: Cubic Bezier, minimum 4 points (2 control points): [p1, c2, c3, p4, c5, c6...] +---@param points table +---@param thick number +---@param color table +---@return any RL.DrawSplineBezierCubic +function RL.DrawSplineBezierCubic( points, thick, color ) end + +---Draw spline segment: Linear, 2 points +---@param p1 table +---@param p2 table +---@param thick number +---@param color table +---@return any RL.DrawSplineSegmentLinear +function RL.DrawSplineSegmentLinear( p1, p2, thick, color ) end + +---Draw spline segment: B-Spline, 4 points +---@param p1 table +---@param p2 table +---@param p3 table +---@param p4 table +---@param thick number +---@param color table +---@return any RL.DrawSplineSegmentBasis +function RL.DrawSplineSegmentBasis( p1, p2, p3, p4, thick, color ) end + +---Draw spline segment: Catmull-Rom, 4 points +---@param p1 table +---@param p2 table +---@param p3 table +---@param p4 table +---@param thick number +---@param color table +---@return any RL.DrawSplineSegmentCatmullRom +function RL.DrawSplineSegmentCatmullRom( p1, p2, p3, p4, thick, color ) end + +---Draw spline segment: Quadratic Bezier, 2 points, 1 control point +---@param p1 table +---@param c2 table +---@param p3 table +---@param thick number +---@param color table +---@return any RL.DrawSplineSegmentBezierQuadratic +function RL.DrawSplineSegmentBezierQuadratic( p1, c2, p3, thick, color ) end + +---Draw spline segment: Cubic Bezier, 2 points, 2 control points +---@param p1 table +---@param c2 table +---@param c3 table +---@param p4 table +---@param thick number +---@param color table +---@return any RL.DrawSplineSegmentBezierCubic +function RL.DrawSplineSegmentBezierCubic( p1, c2, c3, p4, thick, color ) end + +-- Shapes - Spline segment point evaluation functions, for a given t [0.0f .. 1.0f] + +---Get (evaluate) spline point: Linear +---- Success return Vector2 +---@param startPos table +---@param endPos table +---@param t number +---@return any point +function RL.GetSplinePointLinear( startPos, endPos, t ) end + +---Get (evaluate) spline point: B-Spline +---- Success return Vector2 +---@param p1 table +---@param p2 table +---@param p3 table +---@param p4 table +---@param t number +---@return any point +function RL.GetSplinePointBasis( p1, p2, p3, p4, t ) end + +---Get (evaluate) spline point: Catmull-Rom +---- Success return Vector2 +---@param p1 table +---@param p2 table +---@param p3 table +---@param p4 table +---@param t number +---@return any point +function RL.GetSplinePointCatmullRom( p1, p2, p3, p4, t ) end + +---Get (evaluate) spline point: Quadratic Bezier +---- Success return Vector2 +---@param p1 table +---@param c2 table +---@param p3 table +---@param t number +---@return any point +function RL.GetSplinePointBezierQuad( p1, c2, p3, t ) end + +---Get (evaluate) spline point: Cubic Bezier +---- Success return Vector2 +---@param p1 table +---@param c2 table +---@param c3 table +---@param p4 table +---@param t number +---@return any point +function RL.GetSplinePointBezierCubic( p1, c2, c3, p4, t ) end + -- Shapes - Basic shapes collision detection functions ---Check collision between two rectangles @@ -7,6 +7,7 @@ KEY CHANGES: - ADDED: More audio device management functions. - ADDED: Random values generation functions. - ADDED: More Window-related functions. + - ADDED: Spline functions. DETAILED CHANGES: - REMOVED: DrawLineBezierQuad, DrawLineBezierCubic. diff --git a/include/shapes.h b/include/shapes.h index 50fb156..92c0f97 100644 --- a/include/shapes.h +++ b/include/shapes.h @@ -31,6 +31,23 @@ int lshapesDrawTriangleStrip( lua_State *L ); int lshapesDrawPoly( lua_State *L ); int lshapesDrawPolyLines( lua_State *L ); int lshapesDrawPolyLinesEx( lua_State *L ); +/* Splines drawing functions. */ +int lshapesDrawSplineLinear( lua_State *L ); +int lshapesDrawSplineBasis( lua_State *L ); +int lshapesDrawSplineCatmullRom( lua_State *L ); +int lshapesDrawSplineBezierQuadratic( lua_State *L ); +int lshapesDrawSplineBezierCubic( lua_State *L ); +int lshapesDrawSplineSegmentLinear( lua_State *L ); +int lshapesDrawSplineSegmentBasis( lua_State *L ); +int lshapesDrawSplineSegmentCatmullRom( lua_State *L ); +int lshapesDrawSplineSegmentBezierQuadratic( lua_State *L ); +int lshapesDrawSplineSegmentBezierCubic( lua_State *L ); +/* Basic Spline segment point evaluation functions, for a given t [0.0f .. 1.0f]. */ +int lshapesGetSplinePointLinear( lua_State *L ); +int lshapesGetSplinePointBasis( lua_State *L ); +int lshapesGetSplinePointCatmullRom( lua_State *L ); +int lshapesGetSplinePointBezierQuad( lua_State *L ); +int lshapesGetSplinePointBezierCubic( lua_State *L ); /* Basic shapes collision detection functions. */ int lshapesCheckCollisionRecs( lua_State *L ); int lshapesCheckCollisionCircles( lua_State *L ); @@ -1278,7 +1278,7 @@ int lcoreGetRandomValue( lua_State *L ) { } /* -> sequence = RL.GetRandomValue( int count, int min, int max ) +> sequence = RL.LoadRandomSequence( int count, int min, int max ) Load random values sequence, no values repeated diff --git a/src/lua_core.c b/src/lua_core.c index 40bb0c4..c85d541 100644 --- a/src/lua_core.c +++ b/src/lua_core.c @@ -1771,6 +1771,23 @@ void luaRegister() { assingGlobalFunction( "DrawPoly", lshapesDrawPoly ); assingGlobalFunction( "DrawPolyLines", lshapesDrawPolyLines ); assingGlobalFunction( "DrawPolyLinesEx", lshapesDrawPolyLinesEx ); + /* Splines drawing functions. */ + assingGlobalFunction( "DrawSplineLinear", lshapesDrawSplineLinear ); + assingGlobalFunction( "DrawSplineBasis", lshapesDrawSplineBasis ); + assingGlobalFunction( "DrawSplineCatmullRom", lshapesDrawSplineCatmullRom ); + assingGlobalFunction( "DrawSplineBezierQuadratic", lshapesDrawSplineBezierQuadratic ); + assingGlobalFunction( "DrawSplineBezierCubic", lshapesDrawSplineBezierCubic ); + assingGlobalFunction( "DrawSplineSegmentLinear", lshapesDrawSplineSegmentLinear ); + assingGlobalFunction( "DrawSplineSegmentBasis", lshapesDrawSplineSegmentBasis ); + assingGlobalFunction( "DrawSplineSegmentCatmullRom", lshapesDrawSplineSegmentCatmullRom ); + assingGlobalFunction( "DrawSplineSegmentBezierQuadratic", lshapesDrawSplineSegmentBezierQuadratic ); + assingGlobalFunction( "DrawSplineSegmentBezierCubic", lshapesDrawSplineSegmentBezierCubic ); + /* Basic Spline segment point evaluation functions, for a given t [0.0f .. 1.0f]. */ + assingGlobalFunction( "GetSplinePointLinear", lshapesGetSplinePointLinear ); + assingGlobalFunction( "GetSplinePointBasis", lshapesGetSplinePointBasis ); + assingGlobalFunction( "GetSplinePointCatmullRom", lshapesGetSplinePointCatmullRom ); + assingGlobalFunction( "GetSplinePointBezierQuad", lshapesGetSplinePointBezierQuad ); + assingGlobalFunction( "GetSplinePointBezierCubic", lshapesGetSplinePointBezierCubic ); /* Basic shapes collision detection functions. */ assingGlobalFunction( "CheckCollisionRecs", lshapesCheckCollisionRecs ); assingGlobalFunction( "CheckCollisionCircles", lshapesCheckCollisionCircles ); diff --git a/src/shapes.c b/src/shapes.c index 80e5f05..ad8ed92 100644 --- a/src/shapes.c +++ b/src/shapes.c @@ -4,6 +4,17 @@ #include "lua_core.h" #include "textures.h" +static inline void getVector2Array( lua_State *L, int index, Vector2 points[] ) { + int t = index, i = 0; + lua_pushnil( L ); + + while ( lua_next( L, t ) != 0 ) { + points[i] = uluaGetVector2( L, lua_gettop( L ) ); + i++; + lua_pop( L, 1 ); + } +} + /* ## Shapes - Basic shapes drawing functions */ @@ -521,6 +532,278 @@ int lshapesDrawPolyLinesEx( lua_State *L ) { } /* +## Shapes - Splines drawing functions +*/ + +/* +> RL.DrawSplineLinear( Vector2{} points, float thick, Color color ) + +Draw spline: Linear, minimum 2 points +*/ +int lshapesDrawSplineLinear( lua_State *L ) { + int pointCount = uluaGetTableLen( L, 1 ); + Vector2 points[ pointCount ]; + float thick = luaL_checknumber( L, 2 ); + Color color = uluaGetColor( L, 3 ); + + getVector2Array( L, 1, points ); + DrawSplineLinear( points, pointCount, thick, color ); + + return 0; +} + +/* +> RL.DrawSplineBasis( Vector2{} points, float thick, Color color ) + +Draw spline: B-Spline, minimum 4 points +*/ +int lshapesDrawSplineBasis( lua_State *L ) { + int pointCount = uluaGetTableLen( L, 1 ); + Vector2 points[ pointCount ]; + float thick = luaL_checknumber( L, 2 ); + Color color = uluaGetColor( L, 3 ); + + getVector2Array( L, 1, points ); + DrawSplineBasis( points, pointCount, thick, color ); + + return 0; +} + +/* +> RL.DrawSplineCatmullRom( Vector2{} points, float thick, Color color ) + +Draw spline: Catmull-Rom, minimum 4 points +*/ +int lshapesDrawSplineCatmullRom( lua_State *L ) { + int pointCount = uluaGetTableLen( L, 1 ); + Vector2 points[ pointCount ]; + float thick = luaL_checknumber( L, 2 ); + Color color = uluaGetColor( L, 3 ); + + getVector2Array( L, 1, points ); + DrawSplineCatmullRom( points, pointCount, thick, color ); + + return 0; +} + +/* +> RL.DrawSplineBezierQuadratic( Vector2{} points, float thick, Color color ) + +Draw spline: Quadratic Bezier, minimum 3 points (1 control point): [p1, c2, p3, c4...] +*/ +int lshapesDrawSplineBezierQuadratic( lua_State *L ) { + int pointCount = uluaGetTableLen( L, 1 ); + Vector2 points[ pointCount ]; + float thick = luaL_checknumber( L, 2 ); + Color color = uluaGetColor( L, 3 ); + + getVector2Array( L, 1, points ); + DrawSplineBezierQuadratic( points, pointCount, thick, color ); + + return 0; +} + +/* +> RL.DrawSplineBezierCubic( Vector2{} points, float thick, Color color ) + +Draw spline: Cubic Bezier, minimum 4 points (2 control points): [p1, c2, c3, p4, c5, c6...] +*/ +int lshapesDrawSplineBezierCubic( lua_State *L ) { + int pointCount = uluaGetTableLen( L, 1 ); + Vector2 points[ pointCount ]; + float thick = luaL_checknumber( L, 2 ); + Color color = uluaGetColor( L, 3 ); + + getVector2Array( L, 1, points ); + DrawSplineBezierCubic( points, pointCount, thick, color ); + + return 0; +} + +/* +> RL.DrawSplineSegmentLinear( Vector2 p1, Vector2 p2, float thick, Color color ) + +Draw spline segment: Linear, 2 points +*/ +int lshapesDrawSplineSegmentLinear( lua_State *L ) { + Vector2 p1 = uluaGetVector2( L, 1 ); + Vector2 p2 = uluaGetVector2( L, 2 ); + float thick = luaL_checknumber( L, 3 ); + Color color = uluaGetColor( L, 4 ); + + DrawSplineSegmentLinear( p1, p2, thick, color ); + + return 0; +} + +/* +> RL.DrawSplineSegmentBasis( Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float thick, Color color ) + +Draw spline segment: B-Spline, 4 points +*/ +int lshapesDrawSplineSegmentBasis( lua_State *L ) { + Vector2 p1 = uluaGetVector2( L, 1 ); + Vector2 p2 = uluaGetVector2( L, 2 ); + Vector2 p3 = uluaGetVector2( L, 3 ); + Vector2 p4 = uluaGetVector2( L, 4 ); + float thick = luaL_checknumber( L, 5 ); + Color color = uluaGetColor( L, 6 ); + + DrawSplineSegmentBasis( p1, p2, p3, p4, thick, color ); + + return 0; +} + +/* +> RL.DrawSplineSegmentCatmullRom( Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float thick, Color color ) + +Draw spline segment: Catmull-Rom, 4 points +*/ +int lshapesDrawSplineSegmentCatmullRom( lua_State *L ) { + Vector2 p1 = uluaGetVector2( L, 1 ); + Vector2 p2 = uluaGetVector2( L, 2 ); + Vector2 p3 = uluaGetVector2( L, 3 ); + Vector2 p4 = uluaGetVector2( L, 4 ); + float thick = luaL_checknumber( L, 5 ); + Color color = uluaGetColor( L, 6 ); + + DrawSplineSegmentCatmullRom( p1, p2, p3, p4, thick, color ); + + return 0; +} + +/* +> RL.DrawSplineSegmentBezierQuadratic( Vector2 p1, Vector2 c2, Vector2 p3, float thick, Color color ) + +Draw spline segment: Quadratic Bezier, 2 points, 1 control point +*/ +int lshapesDrawSplineSegmentBezierQuadratic( lua_State *L ) { + Vector2 p1 = uluaGetVector2( L, 1 ); + Vector2 c2 = uluaGetVector2( L, 2 ); + Vector2 p3 = uluaGetVector2( L, 3 ); + float thick = luaL_checknumber( L, 4 ); + Color color = uluaGetColor( L, 5 ); + + DrawSplineSegmentBezierQuadratic( p1, c2, p3, thick, color ); + + return 0; +} + +/* +> RL.DrawSplineSegmentBezierCubic( Vector2 p1, Vector2 c2, Vector2 c3, Vector2 p4, float thick, Color color ) + +Draw spline segment: Cubic Bezier, 2 points, 2 control points +*/ +int lshapesDrawSplineSegmentBezierCubic( lua_State *L ) { + Vector2 p1 = uluaGetVector2( L, 1 ); + Vector2 c2 = uluaGetVector2( L, 2 ); + Vector2 c3 = uluaGetVector2( L, 3 ); + Vector2 p4 = uluaGetVector2( L, 4 ); + float thick = luaL_checknumber( L, 5 ); + Color color = uluaGetColor( L, 6 ); + + DrawSplineSegmentBezierCubic( p1, c2, c3, p4, thick, color ); + + return 0; +} + +/* +## Shapes - Spline segment point evaluation functions, for a given t [0.0f .. 1.0f] +*/ + +/* +> point = RL.GetSplinePointLinear( Vector2 startPos, Vector2 endPos, float t ) + +Get (evaluate) spline point: Linear + +- Success return Vector2 +*/ +int lshapesGetSplinePointLinear( lua_State *L ) { + Vector2 p1 = uluaGetVector2( L, 1 ); + Vector2 p2 = uluaGetVector2( L, 2 ); + float t = luaL_checknumber( L, 3 ); + + uluaPushVector2( L, GetSplinePointLinear( p1, p2, t ) ); + + return 1; +} + +/* +> point = RL.GetSplinePointBasis( Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float t ) + +Get (evaluate) spline point: B-Spline + +- Success return Vector2 +*/ +int lshapesGetSplinePointBasis( lua_State *L ) { + Vector2 p1 = uluaGetVector2( L, 1 ); + Vector2 p2 = uluaGetVector2( L, 2 ); + Vector2 p3 = uluaGetVector2( L, 3 ); + Vector2 p4 = uluaGetVector2( L, 4 ); + float t = luaL_checknumber( L, 5 ); + + uluaPushVector2( L, GetSplinePointBasis( p1, p2, p3, p4, t ) ); + + return 1; +} + +/* +> point = RL.GetSplinePointCatmullRom( Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float t ) + +Get (evaluate) spline point: Catmull-Rom + +- Success return Vector2 +*/ +int lshapesGetSplinePointCatmullRom( lua_State *L ) { + Vector2 p1 = uluaGetVector2( L, 1 ); + Vector2 p2 = uluaGetVector2( L, 2 ); + Vector2 p3 = uluaGetVector2( L, 3 ); + Vector2 p4 = uluaGetVector2( L, 4 ); + float t = luaL_checknumber( L, 5 ); + + uluaPushVector2( L, GetSplinePointCatmullRom( p1, p2, p3, p4, t ) ); + + return 1; +} + +/* +> point = RL.GetSplinePointBezierQuad( Vector2 p1, Vector2 c2, Vector2 p3, float t ) + +Get (evaluate) spline point: Quadratic Bezier + +- Success return Vector2 +*/ +int lshapesGetSplinePointBezierQuad( lua_State *L ) { + Vector2 p1 = uluaGetVector2( L, 1 ); + Vector2 c2 = uluaGetVector2( L, 2 ); + Vector2 p3 = uluaGetVector2( L, 3 ); + float t = luaL_checknumber( L, 4 ); + + uluaPushVector2( L, GetSplinePointBezierQuad( p1, c2, p3, t ) ); + + return 1; +} + +/* +> point = RL.GetSplinePointBezierCubic( Vector2 p1, Vector2 c2, Vector2 c3, Vector2 p4, float t ) + +Get (evaluate) spline point: Cubic Bezier + +- Success return Vector2 +*/ +int lshapesGetSplinePointBezierCubic( lua_State *L ) { + Vector2 p1 = uluaGetVector2( L, 1 ); + Vector2 c2 = uluaGetVector2( L, 2 ); + Vector2 c3 = uluaGetVector2( L, 3 ); + Vector2 p4 = uluaGetVector2( L, 4 ); + float t = luaL_checknumber( L, 5 ); + + uluaPushVector2( L, GetSplinePointBezierCubic( p1, c2, c3, p4, t ) ); + + return 1; +} + +/* ## Shapes - Basic shapes collision detection functions */ |
