Updated some functions

This commit is contained in:
raysan5 2016-08-03 23:15:44 +02:00
parent 5c30e079f4
commit 70ec517fda
1 changed files with 105 additions and 74 deletions

View File

@ -263,7 +263,7 @@ static int LuaIndexTexture2D(lua_State* L)
return 1; return 1;
} }
// TODO: RenderTexture2D? // TODO: Build opaque metatable for RenderTexture2D?
static int LuaIndexSpriteFont(lua_State* L) static int LuaIndexSpriteFont(lua_State* L)
{ {
@ -292,7 +292,7 @@ static void LuaBuildOpaqueMetatables(void)
lua_setfield(L, -2, "__index"); lua_setfield(L, -2, "__index");
lua_pop(L, 1); lua_pop(L, 1);
// TODO? // TODO: Build opaque metatable for RenderTexture2D?
/* /*
luaL_newmetatable(L, "RenderTexture2D"); luaL_newmetatable(L, "RenderTexture2D");
lua_pushcfunction(L, &LuaIndexRenderTexture2D); lua_pushcfunction(L, &LuaIndexRenderTexture2D);
@ -403,13 +403,9 @@ static Camera2D LuaGetArgument_Camera2D(lua_State* L, int index)
return result; return result;
} }
// TODO: // TODO: LightData, *Light
//BoundingBox // TODO: MusicData *Music;
//LightData, *Light // TODO: AudioStream
//MusicData *Music;
//AudioStream
// TODO: Review Mesh, Shader
static BoundingBox LuaGetArgument_BoundingBox(lua_State* L, int index) static BoundingBox LuaGetArgument_BoundingBox(lua_State* L, int index)
{ {
@ -699,7 +695,7 @@ int lua_InitWindow(lua_State* L)
{ {
int arg1 = LuaGetArgument_int(L, 1); int arg1 = LuaGetArgument_int(L, 1);
int arg2 = LuaGetArgument_int(L, 2); int arg2 = LuaGetArgument_int(L, 2);
const char* arg3 = LuaGetArgument_string(L, 3); const char * arg3 = LuaGetArgument_string(L, 3);
InitWindow(arg1, arg2, arg3); InitWindow(arg1, arg2, arg3);
return 0; return 0;
} }
@ -763,11 +759,17 @@ int lua_IsCursorHidden(lua_State* L)
return 1; return 1;
} }
// TODO: int lua_EnableCursor(lua_State* L)
/* {
void EnableCursor(void); // Enables cursor EnableCursor();
void DisableCursor(void); // Disables cursor return 0;
*/ }
int lua_DisableCursor(lua_State* L)
{
DisableCursor();
return 0;
}
int lua_ClearBackground(lua_State* L) int lua_ClearBackground(lua_State* L)
{ {
@ -788,9 +790,18 @@ int lua_EndDrawing(lua_State* L)
return 0; return 0;
} }
// TODO: int lua_Begin2dMode(lua_State* L)
//void Begin2dMode(Camera2D camera); // Initialize 2D mode with custom camera {
//void End2dMode(void); // Ends 2D mode custom camera usage Camera2D arg1 = LuaGetArgument_Camera2D(L, 1);
Begin2dMode(arg1);
return 0;
}
int lua_End2dMode(lua_State* L)
{
End2dMode();
return 0;
}
int lua_Begin3dMode(lua_State* L) int lua_Begin3dMode(lua_State* L)
{ {
@ -805,9 +816,18 @@ int lua_End3dMode(lua_State* L)
return 0; return 0;
} }
// TODO: int lua_BeginTextureMode(lua_State* L)
//void BeginTextureMode(RenderTexture2D target); // Initializes render texture for drawing {
//void EndTextureMode(void); // Ends drawing to render texture RenderTexture2D arg1 = LuaGetArgument_RenderTexture2D(L, 1);
BeginTextureMode(arg1);
return 0;
}
int lua_EndTextureMode(lua_State* L)
{
EndTextureMode();
return 0;
}
int lua_GetMouseRay(lua_State* L) int lua_GetMouseRay(lua_State* L)
{ {
@ -818,9 +838,22 @@ int lua_GetMouseRay(lua_State* L)
return 1; return 1;
} }
// TODO: int lua_GetWorldToScreen(lua_State* L)
//Vector2 GetWorldToScreen(Vector3 position, Camera camera); // Returns the screen space position from a 3d world space position {
//Matrix GetCameraMatrix(Camera camera); // Returns camera transform matrix (view matrix) Vector3 arg1 = LuaGetArgument_Vector3(L, 1);
Camera arg2 = LuaGetArgument_Camera(L, 2);
Vector2 result = GetWorldToScreen(arg1, arg2);
LuaPush_Vector2(L, result);
return 1;
}
int lua_GetCameraMatrix(lua_State* L)
{
Camera arg1 = LuaGetArgument_Camera(L, 1);
Matrix result = GetCameraMatrix(arg1);
LuaPush_Matrix(L, &result);
return 1;
}
#if defined(PLATFORM_WEB) #if defined(PLATFORM_WEB)
@ -1014,17 +1047,14 @@ int lua_IsGamepadAvailable(lua_State* L)
return 1; return 1;
} }
// TODO: Review int GetGamepadAxisMovement(lua_State* L)
// float GetGamepadAxisMovement(int gamepad, int axis); // Return axis movement value for a gamepad axis
/*
int lua_GetGamepadMovement(lua_State* L)
{ {
int arg1 = LuaGetArgument_int(L, 1); int arg1 = LuaGetArgument_int(L, 1);
Vector2 result = GetGamepadMovement(arg1); int arg2 = LuaGetArgument_int(L, 2);
LuaPush_Vector2(L, result); float result = GetGamepadAxisMovement(arg1, arg2);
LuaPush_float(L, result);
return 1; return 1;
} }
*/
int lua_IsGamepadButtonPressed(lua_State* L) int lua_IsGamepadButtonPressed(lua_State* L)
{ {
@ -1152,14 +1182,32 @@ int lua_GetTouchPosition(lua_State* L)
return 1; return 1;
} }
// TODO:
/*
#if defined(PLATFORM_ANDROID) #if defined(PLATFORM_ANDROID)
bool IsButtonPressed(int button); // Detect if an android physic button has been pressed int lua_IsButtonPressed(lua_State* L)
bool IsButtonDown(int button); // Detect if an android physic button is being pressed {
bool IsButtonReleased(int button); // Detect if an android physic button has been released int arg1 = LuaGetArgument_int(L, 1);
bool result = IsButtonPressed(arg1);
lua_pushboolean(L, result);
return 1;
}
int lua_IsButtonDown(lua_State* L)
{
int arg1 = LuaGetArgument_int(L, 1);
bool result = IsButtonDown(arg1);
lua_pushboolean(L, result);
return 1;
}
int lua_IsButtonReleased(lua_State* L)
{
int arg1 = LuaGetArgument_int(L, 1);
bool result = IsButtonReleased(arg1);
lua_pushboolean(L, result);
return 1;
}
#endif #endif
*/
//------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------
// raylib [gestures] module functions - Gestures and Touch Handling // raylib [gestures] module functions - Gestures and Touch Handling
@ -1179,8 +1227,7 @@ int lua_IsGestureDetected(lua_State* L)
return 1; return 1;
} }
// TODO: // TODO: void ProcessGestureEvent(GestureEvent event);
///void ProcessGestureEvent(GestureEvent event); // Process gesture event and translate it into gestures
int lua_UpdateGestures(lua_State* L) int lua_UpdateGestures(lua_State* L)
{ {
@ -1655,10 +1702,9 @@ int lua_LoadTexture(lua_State* L)
return 1; return 1;
} }
// TODO: Texture2D LoadTextureEx(void *data, int width, int height, int textureFormat);
int lua_LoadTextureEx(lua_State* L) int lua_LoadTextureEx(lua_State* L)
{ {
void * arg1 = LuaGetArgument_string(L, 1); // TODO: How to get a void * ? void * arg1 = LuaGetArgument_string(L, 1); // NOTE: getting argument as string
int arg2 = LuaGetArgument_int(L, 2); int arg2 = LuaGetArgument_int(L, 2);
int arg3 = LuaGetArgument_int(L, 3); int arg3 = LuaGetArgument_int(L, 3);
int arg4 = LuaGetArgument_int(L, 4); int arg4 = LuaGetArgument_int(L, 4);
@ -1782,7 +1828,13 @@ int lua_GenTextureMipmaps(lua_State* L)
return 0; return 0;
} }
// TODO: void UpdateTexture(Texture2D texture, void *pixels); // Update GPU texture with new data int lua_UpdateTexture(lua_State* L)
{
Texture2D arg1 = LuaGetArgument_Texture2D(L, 1);
void * arg2 = LuaGetArgument_string(L, 2); // NOTE: Getting (void *) as string
UpdateTexture(arg1, arg2);
return 0;
}
int lua_DrawTexture(lua_State* L) int lua_DrawTexture(lua_State* L)
{ {
@ -1875,7 +1927,7 @@ int lua_DrawText(lua_State* L)
int lua_DrawTextEx(lua_State* L) int lua_DrawTextEx(lua_State* L)
{ {
SpriteFont arg1 = LuaGetArgument_SpriteFont(L, 1); SpriteFont arg1 = LuaGetArgument_SpriteFont(L, 1);
const char* arg2 = LuaGetArgument_string(L, 2); const char * arg2 = LuaGetArgument_string(L, 2);
Vector2 arg3 = LuaGetArgument_Vector2(L, 3); Vector2 arg3 = LuaGetArgument_Vector2(L, 3);
int arg4 = LuaGetArgument_int(L, 4); int arg4 = LuaGetArgument_int(L, 4);
int arg5 = LuaGetArgument_int(L, 5); int arg5 = LuaGetArgument_int(L, 5);
@ -1912,11 +1964,8 @@ int lua_DrawFPS(lua_State* L)
return 0; return 0;
} }
// TODO: // TODO: const char *FormatText(const char *text, ...);
/* // TODO: const char *SubText(const char *text, int position, int length);
const char *FormatText(const char *text, ...); // Formatting of text with variables to 'embed'
const char *SubText(const char *text, int position, int length); // Get a piece of a text string
*/
int lua_DrawCube(lua_State* L) int lua_DrawCube(lua_State* L)
{ {
@ -2108,7 +2157,7 @@ int lua_UnloadModel(lua_State* L)
return 0; return 0;
} }
// TODO: GenMesh*() // TODO: GenMesh*() functionality (not ready yet on raylib 1.6)
int lua_LoadMaterial(lua_State* L) int lua_LoadMaterial(lua_State* L)
{ {
@ -2211,7 +2260,7 @@ int lua_CalculateBoundingBox(lua_State* L)
Mesh arg1 = LuaGetArgument_Mesh(L, 1); Mesh arg1 = LuaGetArgument_Mesh(L, 1);
BoundingBox result = CalculateBoundingBox(arg1); BoundingBox result = CalculateBoundingBox(arg1);
LuaPush_BoundingBox(L, result); LuaPush_BoundingBox(L, result);
return 0; return 1;
} }
int lua_CheckCollisionSpheres(lua_State* L) int lua_CheckCollisionSpheres(lua_State* L)
@ -2269,8 +2318,8 @@ int lua_ResolveCollisionCubicmap(lua_State* L)
//------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------
int lua_LoadShader(lua_State* L) int lua_LoadShader(lua_State* L)
{ {
char * arg1 = (char*)LuaGetArgument_string(L, 1); const char * arg1 = LuaGetArgument_string(L, 1);
char * arg2 = (char*)LuaGetArgument_string(L, 2); const char * arg2 = LuaGetArgument_string(L, 2);
Shader result = LoadShader(arg1, arg2); Shader result = LoadShader(arg1, arg2);
LuaPush_Shader(L, result); LuaPush_Shader(L, result);
return 1; return 1;
@ -2401,7 +2450,7 @@ void ToggleVrMode(void); // Enable/Disable VR experience (dev
*/ */
//------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------
// raylib [audio] module functions // raylib [audio] module functions - Audio Loading and Playing
//------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------
int lua_InitAudioDevice(lua_State* L) int lua_InitAudioDevice(lua_State* L)
{ {
@ -2419,7 +2468,7 @@ int lua_IsAudioDeviceReady(lua_State* L)
{ {
bool result = IsAudioDeviceReady(); bool result = IsAudioDeviceReady();
lua_pushboolean(L, result); lua_pushboolean(L, result);
return 0; return 1;
} }
int lua_LoadSound(lua_State* L) int lua_LoadSound(lua_State* L)
@ -2511,7 +2560,7 @@ int lua_LoadMusicStream(lua_State* L)
const char * arg1 = LuaGetArgument_string(L, 1); const char * arg1 = LuaGetArgument_string(L, 1);
Music result = LoadMusicStream((char *)arg1); Music result = LoadMusicStream((char *)arg1);
LuaPush_Music(L, result); LuaPush_Music(L, result);
return 0; return 1;
} }
int lua_UnloadMusicStream(lua_State* L) int lua_UnloadMusicStream(lua_State* L)
@ -3442,24 +3491,6 @@ RLUADEF void InitLuaDevice(void)
LuaSetEnum("BUTTON_START", 10); LuaSetEnum("BUTTON_START", 10);
LuaEndEnum("GAMEPAD"); LuaEndEnum("GAMEPAD");
LuaStartEnum();
LuaSetEnum("PLAYER1", 0);
LuaSetEnum("PLAYER2", 1);
LuaSetEnum("PLAYER3", 2);
LuaSetEnum("PLAYER4", 3);
LuaSetEnum("BUTTON_A", 2);
LuaSetEnum("BUTTON_B", 1);
LuaSetEnum("BUTTON_X", 3);
LuaSetEnum("BUTTON_Y", 4);
LuaSetEnum("BUTTON_R1", 7);
LuaSetEnum("BUTTON_R2", 5);
LuaSetEnum("BUTTON_L1", 6);
LuaSetEnum("BUTTON_L2", 8);
LuaSetEnum("BUTTON_SELECT", 9);
LuaSetEnum("BUTTON_START", 10);
LuaEndEnum("GAMEPAD");
// TODO: XBOX controller buttons enum // TODO: XBOX controller buttons enum
lua_pushglobaltable(L); lua_pushglobaltable(L);
@ -3628,4 +3659,4 @@ RLUADEF void ExecuteLuaFile(const char *filename)
} }
} }
#endif // RLUA_IMPLEMENTATION #endif // RLUA_IMPLEMENTATION