summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/easings.c516
-rw-r--r--src/lua_core.c50
-rw-r--r--src/main.c44
-rw-r--r--src/state.c9
4 files changed, 604 insertions, 15 deletions
diff --git a/src/easings.c b/src/easings.c
new file mode 100644
index 0000000..b864cdb
--- /dev/null
+++ b/src/easings.c
@@ -0,0 +1,516 @@
+#include "main.h"
+#include "state.h"
+#include "lua_core.h"
+#include "easings.h"
+#include "reasings.h"
+
+/*
+## Easings - Linear Easing functions
+*/
+
+/*
+> value = RL_EaseLinear( float t, float b, float c, float d )
+
+Ease linear
+
+- Failure return false
+- Success return float
+*/
+int leasingsEaseLinear( lua_State *L ) {
+ if ( !lua_isnumber( L, -4 ) || !lua_isnumber( L, -3 ) || !lua_isnumber( L, -2 ) || !lua_isnumber( L, -1 ) ) {
+ TraceLog( LOG_WARNING, "%s", "Bad call of function. RL_EaseLinear( float t, float b, float c, float d )" );
+ lua_pushboolean( L, false );
+ return 1;
+ }
+ lua_pushnumber( L, EaseLinearNone( lua_tonumber( L, -4 ), lua_tonumber( L, -3 ), lua_tonumber( L, -2 ), lua_tonumber( L, -1 ) ) );
+
+ return 1;
+}
+
+/*
+## Easings - Sine Easing functions
+*/
+
+/*
+> value = RL_EaseSineIn( float t, float b, float c, float d )
+
+Ease sine in
+
+- Failure return false
+- Success return float
+*/
+int leasingsEaseSineIn( lua_State *L ) {
+ if ( !lua_isnumber( L, -4 ) || !lua_isnumber( L, -3 ) || !lua_isnumber( L, -2 ) || !lua_isnumber( L, -1 ) ) {
+ TraceLog( LOG_WARNING, "%s", "Bad call of function. RL_EaseSineIn( float t, float b, float c, float d )" );
+ lua_pushboolean( L, false );
+ return 1;
+ }
+ lua_pushnumber( L, EaseSineIn( lua_tonumber( L, -4 ), lua_tonumber( L, -3 ), lua_tonumber( L, -2 ), lua_tonumber( L, -1 ) ) );
+
+ return 1;
+}
+
+/*
+> value = RL_EaseSineOut( float t, float b, float c, float d )
+
+Ease sine out
+
+- Failure return false
+- Success return float
+*/
+int leasingsEaseSineOut( lua_State *L ) {
+ if ( !lua_isnumber( L, -4 ) || !lua_isnumber( L, -3 ) || !lua_isnumber( L, -2 ) || !lua_isnumber( L, -1 ) ) {
+ TraceLog( LOG_WARNING, "%s", "Bad call of function. RL_EaseSineOut( float t, float b, float c, float d )" );
+ lua_pushboolean( L, false );
+ return 1;
+ }
+ lua_pushnumber( L, EaseSineOut( lua_tonumber( L, -4 ), lua_tonumber( L, -3 ), lua_tonumber( L, -2 ), lua_tonumber( L, -1 ) ) );
+
+ return 1;
+}
+
+/*
+> value = RL_EaseSineInOut( float t, float b, float c, float d )
+
+Ease sine in out
+
+- Failure return false
+- Success return float
+*/
+int leasingsEaseSineInOut( lua_State *L ) {
+ if ( !lua_isnumber( L, -4 ) || !lua_isnumber( L, -3 ) || !lua_isnumber( L, -2 ) || !lua_isnumber( L, -1 ) ) {
+ TraceLog( LOG_WARNING, "%s", "Bad call of function. RL_EaseSineInOut( float t, float b, float c, float d )" );
+ lua_pushboolean( L, false );
+ return 1;
+ }
+ lua_pushnumber( L, EaseSineInOut( lua_tonumber( L, -4 ), lua_tonumber( L, -3 ), lua_tonumber( L, -2 ), lua_tonumber( L, -1 ) ) );
+
+ return 1;
+}
+
+/*
+## Easings - Circular Easing functions
+*/
+
+/*
+> value = RL_EaseCircIn( float t, float b, float c, float d )
+
+Ease circle in
+
+- Failure return false
+- Success return float
+*/
+int leasingsEaseCircIn( lua_State *L ) {
+ if ( !lua_isnumber( L, -4 ) || !lua_isnumber( L, -3 ) || !lua_isnumber( L, -2 ) || !lua_isnumber( L, -1 ) ) {
+ TraceLog( LOG_WARNING, "%s", "Bad call of function. RL_EaseCircIn( float t, float b, float c, float d )" );
+ lua_pushboolean( L, false );
+ return 1;
+ }
+ lua_pushnumber( L, EaseCircIn( lua_tonumber( L, -4 ), lua_tonumber( L, -3 ), lua_tonumber( L, -2 ), lua_tonumber( L, -1 ) ) );
+
+ return 1;
+}
+
+/*
+> value = RL_EaseCircOut( float t, float b, float c, float d )
+
+Ease circle out
+
+- Failure return false
+- Success return float
+*/
+int leasingsEaseCircOut( lua_State *L ) {
+ if ( !lua_isnumber( L, -4 ) || !lua_isnumber( L, -3 ) || !lua_isnumber( L, -2 ) || !lua_isnumber( L, -1 ) ) {
+ TraceLog( LOG_WARNING, "%s", "Bad call of function. RL_EaseCircOut( float t, float b, float c, float d )" );
+ lua_pushboolean( L, false );
+ return 1;
+ }
+ lua_pushnumber( L, EaseCircOut( lua_tonumber( L, -4 ), lua_tonumber( L, -3 ), lua_tonumber( L, -2 ), lua_tonumber( L, -1 ) ) );
+
+ return 1;
+}
+
+/*
+> value = RL_EaseCircInOut( float t, float b, float c, float d )
+
+Ease circle in out
+
+- Failure return false
+- Success return float
+*/
+int leasingsEaseCircInOut( lua_State *L ) {
+ if ( !lua_isnumber( L, -4 ) || !lua_isnumber( L, -3 ) || !lua_isnumber( L, -2 ) || !lua_isnumber( L, -1 ) ) {
+ TraceLog( LOG_WARNING, "%s", "Bad call of function. RL_EaseCircInOut( float t, float b, float c, float d )" );
+ lua_pushboolean( L, false );
+ return 1;
+ }
+ lua_pushnumber( L, EaseCircInOut( lua_tonumber( L, -4 ), lua_tonumber( L, -3 ), lua_tonumber( L, -2 ), lua_tonumber( L, -1 ) ) );
+
+ return 1;
+}
+
+/*
+## Easings - Cubic Easing functions
+*/
+
+/*
+> value = RL_EaseCubicIn( float t, float b, float c, float d )
+
+Ease cubic in
+
+- Failure return false
+- Success return float
+*/
+int leasingsEaseCubicIn( lua_State *L ) {
+ if ( !lua_isnumber( L, -4 ) || !lua_isnumber( L, -3 ) || !lua_isnumber( L, -2 ) || !lua_isnumber( L, -1 ) ) {
+ TraceLog( LOG_WARNING, "%s", "Bad call of function. RL_EaseCubicIn( float t, float b, float c, float d )" );
+ lua_pushboolean( L, false );
+ return 1;
+ }
+ lua_pushnumber( L, EaseCubicIn( lua_tonumber( L, -4 ), lua_tonumber( L, -3 ), lua_tonumber( L, -2 ), lua_tonumber( L, -1 ) ) );
+
+ return 1;
+}
+
+/*
+> value = RL_EaseCubicOut( float t, float b, float c, float d )
+
+Ease cubic out
+
+- Failure return false
+- Success return float
+*/
+int leasingsEaseCubicOut( lua_State *L ) {
+ if ( !lua_isnumber( L, -4 ) || !lua_isnumber( L, -3 ) || !lua_isnumber( L, -2 ) || !lua_isnumber( L, -1 ) ) {
+ TraceLog( LOG_WARNING, "%s", "Bad call of function. RL_EaseCubicOut( float t, float b, float c, float d )" );
+ lua_pushboolean( L, false );
+ return 1;
+ }
+ lua_pushnumber( L, EaseCubicOut( lua_tonumber( L, -4 ), lua_tonumber( L, -3 ), lua_tonumber( L, -2 ), lua_tonumber( L, -1 ) ) );
+
+ return 1;
+}
+
+/*
+> value = RL_EaseCubicInOut( float t, float b, float c, float d )
+
+Ease cubic in out
+
+- Failure return false
+- Success return float
+*/
+int leasingsEaseCubicInOut( lua_State *L ) {
+ if ( !lua_isnumber( L, -4 ) || !lua_isnumber( L, -3 ) || !lua_isnumber( L, -2 ) || !lua_isnumber( L, -1 ) ) {
+ TraceLog( LOG_WARNING, "%s", "Bad call of function. RL_EaseCubicInOut( float t, float b, float c, float d )" );
+ lua_pushboolean( L, false );
+ return 1;
+ }
+ lua_pushnumber( L, EaseCubicInOut( lua_tonumber( L, -4 ), lua_tonumber( L, -3 ), lua_tonumber( L, -2 ), lua_tonumber( L, -1 ) ) );
+
+ return 1;
+}
+
+/*
+## Easings - Quadratic Easing functions
+*/
+
+/*
+> value = RL_EaseQuadIn( float t, float b, float c, float d )
+
+Ease quadratic in
+
+- Failure return false
+- Success return float
+*/
+int leasingsEaseQuadIn( lua_State *L ) {
+ if ( !lua_isnumber( L, -4 ) || !lua_isnumber( L, -3 ) || !lua_isnumber( L, -2 ) || !lua_isnumber( L, -1 ) ) {
+ TraceLog( LOG_WARNING, "%s", "Bad call of function. RL_EaseQuadIn( float t, float b, float c, float d )" );
+ lua_pushboolean( L, false );
+ return 1;
+ }
+ lua_pushnumber( L, EaseQuadIn( lua_tonumber( L, -4 ), lua_tonumber( L, -3 ), lua_tonumber( L, -2 ), lua_tonumber( L, -1 ) ) );
+
+ return 1;
+}
+
+/*
+> value = RL_EaseQuadOut( float t, float b, float c, float d )
+
+Ease quadratic out
+
+- Failure return false
+- Success return float
+*/
+int leasingsEaseQuadOut( lua_State *L ) {
+ if ( !lua_isnumber( L, -4 ) || !lua_isnumber( L, -3 ) || !lua_isnumber( L, -2 ) || !lua_isnumber( L, -1 ) ) {
+ TraceLog( LOG_WARNING, "%s", "Bad call of function. RL_EaseQuadOut( float t, float b, float c, float d )" );
+ lua_pushboolean( L, false );
+ return 1;
+ }
+ lua_pushnumber( L, EaseQuadOut( lua_tonumber( L, -4 ), lua_tonumber( L, -3 ), lua_tonumber( L, -2 ), lua_tonumber( L, -1 ) ) );
+
+ return 1;
+}
+
+/*
+> value = RL_EaseQuadInOut( float t, float b, float c, float d )
+
+Ease quadratic in out
+
+- Failure return false
+- Success return float
+*/
+int leasingsEaseQuadInOut( lua_State *L ) {
+ if ( !lua_isnumber( L, -4 ) || !lua_isnumber( L, -3 ) || !lua_isnumber( L, -2 ) || !lua_isnumber( L, -1 ) ) {
+ TraceLog( LOG_WARNING, "%s", "Bad call of function. RL_EaseQuadInOut( float t, float b, float c, float d )" );
+ lua_pushboolean( L, false );
+ return 1;
+ }
+ lua_pushnumber( L, EaseQuadInOut( lua_tonumber( L, -4 ), lua_tonumber( L, -3 ), lua_tonumber( L, -2 ), lua_tonumber( L, -1 ) ) );
+
+ return 1;
+}
+
+/*
+## Easings - Exponential Easing functions
+*/
+
+/*
+> value = RL_EaseExpoIn( float t, float b, float c, float d )
+
+Ease exponential in
+
+- Failure return false
+- Success return float
+*/
+int leasingsEaseExpoIn( lua_State *L ) {
+ if ( !lua_isnumber( L, -4 ) || !lua_isnumber( L, -3 ) || !lua_isnumber( L, -2 ) || !lua_isnumber( L, -1 ) ) {
+ TraceLog( LOG_WARNING, "%s", "Bad call of function. RL_EaseExpoIn( float t, float b, float c, float d )" );
+ lua_pushboolean( L, false );
+ return 1;
+ }
+ lua_pushnumber( L, EaseExpoIn( lua_tonumber( L, -4 ), lua_tonumber( L, -3 ), lua_tonumber( L, -2 ), lua_tonumber( L, -1 ) ) );
+
+ return 1;
+}
+
+/*
+> value = RL_EaseExpoOut( float t, float b, float c, float d )
+
+Ease exponential out
+
+- Failure return false
+- Success return float
+*/
+int leasingsEaseExpoOut( lua_State *L ) {
+ if ( !lua_isnumber( L, -4 ) || !lua_isnumber( L, -3 ) || !lua_isnumber( L, -2 ) || !lua_isnumber( L, -1 ) ) {
+ TraceLog( LOG_WARNING, "%s", "Bad call of function. RL_EaseExpoOut( float t, float b, float c, float d )" );
+ lua_pushboolean( L, false );
+ return 1;
+ }
+ lua_pushnumber( L, EaseExpoOut( lua_tonumber( L, -4 ), lua_tonumber( L, -3 ), lua_tonumber( L, -2 ), lua_tonumber( L, -1 ) ) );
+
+ return 1;
+}
+
+/*
+> value = RL_EaseExpoInOut( float t, float b, float c, float d )
+
+Ease exponential in out
+
+- Failure return false
+- Success return float
+*/
+int leasingsEaseExpoInOut( lua_State *L ) {
+ if ( !lua_isnumber( L, -4 ) || !lua_isnumber( L, -3 ) || !lua_isnumber( L, -2 ) || !lua_isnumber( L, -1 ) ) {
+ TraceLog( LOG_WARNING, "%s", "Bad call of function. RL_EaseExpoInOut( float t, float b, float c, float d )" );
+ lua_pushboolean( L, false );
+ return 1;
+ }
+ lua_pushnumber( L, EaseExpoInOut( lua_tonumber( L, -4 ), lua_tonumber( L, -3 ), lua_tonumber( L, -2 ), lua_tonumber( L, -1 ) ) );
+
+ return 1;
+}
+
+/*
+## Easings - Back Easing functions
+*/
+
+/*
+> value = RL_EaseBackIn( float t, float b, float c, float d )
+
+Ease back in
+
+- Failure return false
+- Success return float
+*/
+int leasingsEaseBackIn( lua_State *L ) {
+ if ( !lua_isnumber( L, -4 ) || !lua_isnumber( L, -3 ) || !lua_isnumber( L, -2 ) || !lua_isnumber( L, -1 ) ) {
+ TraceLog( LOG_WARNING, "%s", "Bad call of function. RL_EaseBackIn( float t, float b, float c, float d )" );
+ lua_pushboolean( L, false );
+ return 1;
+ }
+ lua_pushnumber( L, EaseBackIn( lua_tonumber( L, -4 ), lua_tonumber( L, -3 ), lua_tonumber( L, -2 ), lua_tonumber( L, -1 ) ) );
+
+ return 1;
+}
+
+/*
+> value = RL_EaseBackOut( float t, float b, float c, float d )
+
+Ease back out
+
+- Failure return false
+- Success return float
+*/
+int leasingsEaseBackOut( lua_State *L ) {
+ if ( !lua_isnumber( L, -4 ) || !lua_isnumber( L, -3 ) || !lua_isnumber( L, -2 ) || !lua_isnumber( L, -1 ) ) {
+ TraceLog( LOG_WARNING, "%s", "Bad call of function. RL_EaseBackOut( float t, float b, float c, float d )" );
+ lua_pushboolean( L, false );
+ return 1;
+ }
+ lua_pushnumber( L, EaseBackOut( lua_tonumber( L, -4 ), lua_tonumber( L, -3 ), lua_tonumber( L, -2 ), lua_tonumber( L, -1 ) ) );
+
+ return 1;
+}
+
+/*
+> value = RL_EaseBackInOut( float t, float b, float c, float d )
+
+Ease back in out
+
+- Failure return false
+- Success return float
+*/
+int leasingsEaseBackInOut( lua_State *L ) {
+ if ( !lua_isnumber( L, -4 ) || !lua_isnumber( L, -3 ) || !lua_isnumber( L, -2 ) || !lua_isnumber( L, -1 ) ) {
+ TraceLog( LOG_WARNING, "%s", "Bad call of function. RL_EaseBackInOut( float t, float b, float c, float d )" );
+ lua_pushboolean( L, false );
+ return 1;
+ }
+ lua_pushnumber( L, EaseBackInOut( lua_tonumber( L, -4 ), lua_tonumber( L, -3 ), lua_tonumber( L, -2 ), lua_tonumber( L, -1 ) ) );
+
+ return 1;
+}
+
+/*
+## Easings - Bounce Easing functions
+*/
+
+/*
+> value = RL_EaseBounceIn( float t, float b, float c, float d )
+
+Ease bounce in
+
+- Failure return false
+- Success return float
+*/
+int leasingsEaseBounceIn( lua_State *L ) {
+ if ( !lua_isnumber( L, -4 ) || !lua_isnumber( L, -3 ) || !lua_isnumber( L, -2 ) || !lua_isnumber( L, -1 ) ) {
+ TraceLog( LOG_WARNING, "%s", "Bad call of function. RL_EaseBounceIn( float t, float b, float c, float d )" );
+ lua_pushboolean( L, false );
+ return 1;
+ }
+ lua_pushnumber( L, EaseBounceIn( lua_tonumber( L, -4 ), lua_tonumber( L, -3 ), lua_tonumber( L, -2 ), lua_tonumber( L, -1 ) ) );
+
+ return 1;
+}
+
+/*
+> value = RL_EaseBounceOut( float t, float b, float c, float d )
+
+Ease bounce out
+
+- Failure return false
+- Success return float
+*/
+int leasingsEaseBounceOut( lua_State *L ) {
+ if ( !lua_isnumber( L, -4 ) || !lua_isnumber( L, -3 ) || !lua_isnumber( L, -2 ) || !lua_isnumber( L, -1 ) ) {
+ TraceLog( LOG_WARNING, "%s", "Bad call of function. RL_EaseBounceOut( float t, float b, float c, float d )" );
+ lua_pushboolean( L, false );
+ return 1;
+ }
+ lua_pushnumber( L, EaseBounceOut( lua_tonumber( L, -4 ), lua_tonumber( L, -3 ), lua_tonumber( L, -2 ), lua_tonumber( L, -1 ) ) );
+
+ return 1;
+}
+
+/*
+> value = RL_EaseBounceInOut( float t, float b, float c, float d )
+
+Ease bounce in out
+
+- Failure return false
+- Success return float
+*/
+int leasingsEaseBounceInOut( lua_State *L ) {
+ if ( !lua_isnumber( L, -4 ) || !lua_isnumber( L, -3 ) || !lua_isnumber( L, -2 ) || !lua_isnumber( L, -1 ) ) {
+ TraceLog( LOG_WARNING, "%s", "Bad call of function. RL_EaseBounceInOut( float t, float b, float c, float d )" );
+ lua_pushboolean( L, false );
+ return 1;
+ }
+ lua_pushnumber( L, EaseBounceInOut( lua_tonumber( L, -4 ), lua_tonumber( L, -3 ), lua_tonumber( L, -2 ), lua_tonumber( L, -1 ) ) );
+
+ return 1;
+}
+
+/*
+## Easings - Elastic Easing functions
+*/
+
+/*
+> value = RL_EaseElasticIn( float t, float b, float c, float d )
+
+Ease elastic in
+
+- Failure return false
+- Success return float
+*/
+int leasingsEaseElasticIn( lua_State *L ) {
+ if ( !lua_isnumber( L, -4 ) || !lua_isnumber( L, -3 ) || !lua_isnumber( L, -2 ) || !lua_isnumber( L, -1 ) ) {
+ TraceLog( LOG_WARNING, "%s", "Bad call of function. RL_EaseElasticIn( float t, float b, float c, float d )" );
+ lua_pushboolean( L, false );
+ return 1;
+ }
+ lua_pushnumber( L, EaseElasticIn( lua_tonumber( L, -4 ), lua_tonumber( L, -3 ), lua_tonumber( L, -2 ), lua_tonumber( L, -1 ) ) );
+
+ return 1;
+}
+
+/*
+> value = RL_EaseElasticOut( float t, float b, float c, float d )
+
+Ease elastic out
+
+- Failure return false
+- Success return float
+*/
+int leasingsEaseElasticOut( lua_State *L ) {
+ if ( !lua_isnumber( L, -4 ) || !lua_isnumber( L, -3 ) || !lua_isnumber( L, -2 ) || !lua_isnumber( L, -1 ) ) {
+ TraceLog( LOG_WARNING, "%s", "Bad call of function. RL_EaseElasticOut( float t, float b, float c, float d )" );
+ lua_pushboolean( L, false );
+ return 1;
+ }
+ lua_pushnumber( L, EaseElasticOut( lua_tonumber( L, -4 ), lua_tonumber( L, -3 ), lua_tonumber( L, -2 ), lua_tonumber( L, -1 ) ) );
+
+ return 1;
+}
+
+/*
+> value = RL_EaseElasticInOut( float t, float b, float c, float d )
+
+Ease elastic in out
+
+- Failure return false
+- Success return float
+*/
+int leasingsEaseElasticInOut( lua_State *L ) {
+ if ( !lua_isnumber( L, -4 ) || !lua_isnumber( L, -3 ) || !lua_isnumber( L, -2 ) || !lua_isnumber( L, -1 ) ) {
+ TraceLog( LOG_WARNING, "%s", "Bad call of function. RL_EaseElasticInOut( float t, float b, float c, float d )" );
+ lua_pushboolean( L, false );
+ return 1;
+ }
+ lua_pushnumber( L, EaseElasticInOut( lua_tonumber( L, -4 ), lua_tonumber( L, -3 ), lua_tonumber( L, -2 ), lua_tonumber( L, -1 ) ) );
+
+ return 1;
+}
diff --git a/src/lua_core.c b/src/lua_core.c
index 1d3f1c8..5e20cd3 100644
--- a/src/lua_core.c
+++ b/src/lua_core.c
@@ -11,6 +11,7 @@
#include "rgui.h"
#include "lights.h"
#include "lrlgl.h"
+#include "reasings.h"
static void assignGlobalInt( int value, const char *name ) {
lua_State *L = state->luaState;
@@ -526,10 +527,10 @@ bool luaInit() {
return false;
}
- luaRegister();
+ // luaRegister();
defineGlobals();
- return luaCallMain();
+ return true;
}
int luaTraceback( lua_State *L ) {
@@ -592,8 +593,9 @@ bool luaCallMain() {
return false;
}
}
+ //TODO Should this be removed?
else {
- TraceLog( LOG_ERROR, "%s", "No Lua main found!" );
+ TraceLog( LOG_ERROR, "%s", "No Lua init found!" );
return false;
}
/* Apply custom callback here. */
@@ -1265,14 +1267,52 @@ void luaRegister() {
lua_register( L, "RL_GuiSetIconPixel", lguiGuiSetIconPixel );
lua_register( L, "RL_GuiClearIconPixel", lguiGuiClearIconPixel );
lua_register( L, "RL_GuiCheckIconPixel", lguiGuiCheckIconPixel );
+
/* Lights */
/* Basics. */
lua_register( L, "RL_CreateLight", llightsCreateLight );
lua_register( L, "RL_UpdateLightValues", llightsUpdateLightValues );
+
/* RLGL */
/* General render state. */
- lua_register( L, "RL_rlSetLineWidth", lrlglSetLineWidth );
- lua_register( L, "RL_rlGetLineWidth", lrlglGetLineWidth );
+ lua_register( L, "RL_rlglSetLineWidth", lrlglSetLineWidth );
+ lua_register( L, "RL_rlglGetLineWidth", lrlglGetLineWidth );
+
+ /* Easings */
+ /* Linear Easing functions. */
+ lua_register( L, "RL_EaseLinear", leasingsEaseLinear );
+ /* Sine Easing functions. */
+ lua_register( L, "RL_EaseSineIn", leasingsEaseSineIn );
+ lua_register( L, "RL_EaseSineOut", leasingsEaseSineOut );
+ lua_register( L, "RL_EaseSineInOut", leasingsEaseSineInOut );
+ /* Circular Easing functions. */
+ lua_register( L, "RL_EaseCircIn", leasingsEaseCircIn );
+ lua_register( L, "RL_EaseCircOut", leasingsEaseCircOut );
+ lua_register( L, "RL_EaseCircInOut", leasingsEaseCircInOut );
+ /* Cubic Easing functions. */
+ lua_register( L, "RL_EaseCubicIn", leasingsEaseCubicIn );
+ lua_register( L, "RL_EaseCubicOut", leasingsEaseCubicOut );
+ lua_register( L, "RL_EaseCubicInOut", leasingsEaseCubicInOut );
+ /* Quadratic Easing functions. */
+ lua_register( L, "RL_EaseQuadIn", leasingsEaseQuadIn );
+ lua_register( L, "RL_EaseQuadOut", leasingsEaseQuadOut );
+ lua_register( L, "RL_EaseQuadInOut", leasingsEaseQuadInOut );
+ /* Exponential Easing functions. */
+ lua_register( L, "RL_EaseExpoIn", leasingsEaseExpoIn );
+ lua_register( L, "RL_EaseExpoOut", leasingsEaseExpoOut );
+ lua_register( L, "RL_EaseExpoInOut", leasingsEaseExpoInOut );
+ /* Back Easing functions. */
+ lua_register( L, "RL_EaseBackIn", leasingsEaseBackIn );
+ lua_register( L, "RL_EaseBackOut", leasingsEaseBackOut );
+ lua_register( L, "RL_EaseBackInOut", leasingsEaseBackInOut );
+ /* Bounce Easing functions. */
+ lua_register( L, "RL_EaseBounceIn", leasingsEaseBounceIn );
+ lua_register( L, "RL_EaseBounceOut", leasingsEaseBounceOut );
+ lua_register( L, "RL_EaseBounceInOut", leasingsEaseBounceInOut );
+ /* Elastic Easing functions. */
+ lua_register( L, "RL_EaseElasticIn", leasingsEaseElasticIn );
+ lua_register( L, "RL_EaseElasticOut", leasingsEaseElasticOut );
+ lua_register( L, "RL_EaseElasticInOut", leasingsEaseElasticInOut );
}
/* Lua util functions. */
diff --git a/src/main.c b/src/main.c
index 9155cd7..2e07e37 100644
--- a/src/main.c
+++ b/src/main.c
@@ -13,12 +13,26 @@ inline static void printVersion() {
int main( int argn, const char **argc ) {
char exePath[ STRING_LEN ] = { '\0' };
+ bool interpret_mode = false;
if ( 1 < argn ) {
if ( strcmp( argc[1], "--version" ) == 0 || strcmp( argc[1], "-v" ) == 0 ) {
printVersion();
return 1;
}
+ else if ( strcmp( argc[1], "--help" ) == 0 || strcmp( argc[1], "-h" ) == 0 ) {
+ printf(
+"Usage: ReiLua [Options] [Directory to main.lua or main]\nOptions:\n-h --help\tThis help\n-v --version\tShow ReiLua version\n-i --interpret\tInterpret mode [File name]\n" );
+
+ return 1;
+ }
+ else if ( strcmp( argc[1], "--interpret" ) == 0 || strcmp( argc[1], "-i" ) == 0 ) {
+ interpret_mode = true;
+
+ if ( 2 < argn ) {
+ sprintf( exePath, "%s/%s", GetWorkingDirectory(), argc[2] );
+ }
+ }
else{
sprintf( exePath, "%s/%s", GetWorkingDirectory(), argc[1] );
}
@@ -26,19 +40,29 @@ int main( int argn, const char **argc ) {
else {
sprintf( exePath, "%s/", GetWorkingDirectory() );
}
- printVersion();
- stateInit( exePath );
- while ( state->run ) {
- if ( WindowShouldClose() ) {
- state->run = false;
- }
- if ( IsAudioDeviceReady() ) {
- UpdateMusicStream( state->music );
+ if ( interpret_mode ) {
+ stateInitInterpret();
+ luaL_dofile( state->luaState, exePath );
+ }
+ else {
+ printVersion();
+ stateInit( exePath );
+ luaRegister();
+ state->run = luaCallMain();
+
+ while ( state->run ) {
+ if ( WindowShouldClose() ) {
+ state->run = false;
+ }
+ if ( IsAudioDeviceReady() ) {
+ UpdateMusicStream( state->music );
+ }
+ luaCallProcess();
+ luaCallDraw();
}
- luaCallProcess();
- luaCallDraw();
}
+
stateFree();
return 1;
diff --git a/src/state.c b/src/state.c
index 8cecdcd..4f7e302 100644
--- a/src/state.c
+++ b/src/state.c
@@ -108,11 +108,20 @@ bool stateInit( const char *exePath ) {
if ( state->run ) {
InitAudioDevice();
state->run = luaInit();
+ // luaRegister();
+ // defineGlobals();
+
+ state->run = luaInit();
}
return state->run;
}
+bool stateInitInterpret() {
+ state = malloc( sizeof( State ) );
+ luaInit();
+}
+
void stateFree() {
for ( int i = 0; i < state->imageCount; ++i ) {
if ( state->images[i] != NULL ) {