aboutsummaryrefslogtreecommitdiff
path: root/src/rlua.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/rlua.h')
-rw-r--r--src/rlua.h276
1 files changed, 164 insertions, 112 deletions
diff --git a/src/rlua.h b/src/rlua.h
index 97d22922..961ed1c1 100644
--- a/src/rlua.h
+++ b/src/rlua.h
@@ -1095,14 +1095,14 @@ int lua_IsFileDropped(lua_State* L)
int lua_GetDroppedFiles(lua_State* L)
{
int count = 0;
- char ** result = GetDroppedFiles(&count);
+ char ** result = GetDroppedFiles(&count);
lua_createtable(L, count, 0);
for (int i = 0; i < count; i++)
{
lua_pushstring(L, result[i]);
lua_rawseti(L, -2, i + 1);
}
- return 1;
+ return 1;
}
int lua_ClearDroppedFiles(lua_State* L)
@@ -1130,7 +1130,6 @@ int lua_StorageLoadValue(lua_State* L)
//------------------------------------------------------------------------------------
// raylib [core] module functions - Input Handling
//------------------------------------------------------------------------------------
-#if defined(PLATFORM_DESKTOP) || defined(PLATFORM_RPI) || defined(PLATFORM_WEB)
int lua_IsKeyPressed(lua_State* L)
{
int arg1 = LuaGetArgument_int(L, 1);
@@ -1185,12 +1184,22 @@ int lua_IsGamepadAvailable(lua_State* L)
return 1;
}
-int lua_GetGamepadAxisMovement(lua_State* L)
+int lua_IsGamepadName(lua_State* L)
{
int arg1 = LuaGetArgument_int(L, 1);
- int arg2 = LuaGetArgument_int(L, 2);
- float result = GetGamepadAxisMovement(arg1, arg2);
- lua_pushnumber(L, result);
+ const char * arg2 = LuaGetArgument_string(L, 2);
+ bool result = IsGamepadName(arg1, arg2);
+ lua_pushboolean(L, result);
+ return 1;
+}
+
+int lua_GetGamepadName(lua_State* L)
+{
+ // TODO: Return gamepad name id
+
+ int arg1 = LuaGetArgument_int(L, 1);
+ char * result = GetGamepadName(arg1);
+ //lua_pushboolean(L, result);
return 1;
}
@@ -1229,7 +1238,30 @@ int lua_IsGamepadButtonUp(lua_State* L)
lua_pushboolean(L, result);
return 1;
}
-#endif
+
+int lua_GetGamepadButtonPressed(lua_State* L)
+{
+ int result = GetGamepadButtonPressed();
+ lua_pushinteger(L, result);
+ return 1;
+}
+
+int lua_GetGamepadAxisCount(lua_State* L)
+{
+ int arg1 = LuaGetArgument_int(L, 1);
+ int result = GetGamepadAxisCount(arg1);
+ lua_pushinteger(L, result);
+ return 1;
+}
+
+int lua_GetGamepadAxisMovement(lua_State* L)
+{
+ int arg1 = LuaGetArgument_int(L, 1);
+ int arg2 = LuaGetArgument_int(L, 2);
+ float result = GetGamepadAxisMovement(arg1, arg2);
+ lua_pushnumber(L, result);
+ return 1;
+}
int lua_IsMouseButtonPressed(lua_State* L)
{
@@ -1419,8 +1451,9 @@ int lua_GetGesturePinchAngle(lua_State* L)
//------------------------------------------------------------------------------------
int lua_SetCameraMode(lua_State* L)
{
- int arg1 = LuaGetArgument_int(L, 1);
- SetCameraMode(arg1);
+ Camera arg1 = LuaGetArgument_Camera(L, 1);
+ int arg2 = LuaGetArgument_int(L, 2);
+ SetCameraMode(arg1, arg2);
return 0;
}
@@ -1432,37 +1465,6 @@ int lua_UpdateCamera(lua_State* L)
return 1;
}
-int lua_UpdateCameraPlayer(lua_State* L)
-{
- Camera arg1 = LuaGetArgument_Camera(L, 1);
- Vector3 arg2 = LuaGetArgument_Vector3(L, 2);
- UpdateCameraPlayer(&arg1, &arg2);
- LuaPush_Camera(L, arg1);
- LuaPush_Vector3(L, arg2);
- return 2;
-}
-
-int lua_SetCameraPosition(lua_State* L)
-{
- Vector3 arg1 = LuaGetArgument_Vector3(L, 1);
- SetCameraPosition(arg1);
- return 0;
-}
-
-int lua_SetCameraTarget(lua_State* L)
-{
- Vector3 arg1 = LuaGetArgument_Vector3(L, 1);
- SetCameraTarget(arg1);
- return 0;
-}
-
-int lua_SetCameraFovy(lua_State* L)
-{
- float arg1 = LuaGetArgument_float(L, 1);
- SetCameraFovy(arg1);
- return 0;
-}
-
int lua_SetCameraPanControl(lua_State* L)
{
int arg1 = LuaGetArgument_int(L, 1);
@@ -1496,13 +1498,6 @@ int lua_SetCameraMoveControls(lua_State* L)
return 0;
}
-int lua_SetCameraMouseSensitivity(lua_State* L)
-{
- float arg1 = LuaGetArgument_float(L, 1);
- SetCameraMouseSensitivity(arg1);
- return 0;
-}
-
//------------------------------------------------------------------------------------
// raylib [shapes] module functions - Basic Shapes Drawing
//------------------------------------------------------------------------------------
@@ -1790,6 +1785,8 @@ int lua_LoadImage(lua_State* L)
int lua_LoadImageEx(lua_State* L)
{
+ // TODO: Image LoadImageEx(Color *pixels, int width, int height);
+
GET_TABLE(Color, arg1, 1);
int arg2 = LuaGetArgument_int(L, 2);
int arg3 = LuaGetArgument_int(L, 3);
@@ -1888,6 +1885,8 @@ int lua_UnloadRenderTexture(lua_State* L)
int lua_GetImageData(lua_State* L)
{
+ // TODO: Color *GetImageData(Image image);
+
Image arg1 = LuaGetArgument_Image(L, 1);
Color * result = GetImageData(arg1);
lua_createtable(L, arg1.width*arg1.height, 0);
@@ -1908,6 +1907,16 @@ int lua_GetTextureData(lua_State* L)
return 1;
}
+int lua_UpdateTexture(lua_State* L)
+{
+ // TODO: void UpdateTexture(Texture2D texture, void *pixels);
+
+ Texture2D arg1 = LuaGetArgument_Texture2D(L, 1);
+ void * arg2 = (char *)LuaGetArgument_string(L, 2); // NOTE: Getting (void *) as string?
+ UpdateTexture(arg1, arg2); // ISSUE: #2 string expected, got table -> GetImageData() returns a table!
+ return 0;
+}
+
int lua_ImageToPOT(lua_State* L)
{
Image arg1 = LuaGetArgument_Image(L, 1);
@@ -2096,15 +2105,24 @@ int lua_ImageColorBrightness(lua_State* L)
int lua_GenTextureMipmaps(lua_State* L)
{
Texture2D arg1 = LuaGetArgument_Texture2D(L, 1);
- GenTextureMipmaps(arg1);
+ GenTextureMipmaps(&arg1);
+ LuaPush_Texture2D(L, arg1);
+ return 1;
+}
+
+int lua_SetTextureFilter(lua_State* L)
+{
+ Texture2D arg1 = LuaGetArgument_Texture2D(L, 1);
+ int arg2 = LuaGetArgument_int(L, 2);
+ SetTextureFilter(arg1, arg2);
return 0;
}
-int lua_UpdateTexture(lua_State* L)
+int lua_SetTextureWrap(lua_State* L)
{
Texture2D arg1 = LuaGetArgument_Texture2D(L, 1);
- void * arg2 = (char *)LuaGetArgument_string(L, 2); // NOTE: Getting (void *) as string?
- UpdateTexture(arg1, arg2); // ISSUE: #2 string expected, got table -> GetImageData() returns a table!
+ int arg2 = LuaGetArgument_int(L, 2);
+ SetTextureWrap(arg1, arg2);
return 0;
}
@@ -2178,6 +2196,18 @@ int lua_LoadSpriteFont(lua_State* L)
return 1;
}
+int lua_LoadSpriteFontTTF(lua_State* L)
+{
+ const char * arg1 = LuaGetArgument_string(L, 1);
+ int arg2 = LuaGetArgument_int(L, 2);
+ int arg3 = LuaGetArgument_int(L, 3);
+ int arg4 = LuaGetArgument_int(L, 4);
+ //LoadSpriteFontTTF(const char *fileName, int fontSize, int numChars, int *fontChars);
+ SpriteFont result = LoadSpriteFontTTF(arg1, arg2, arg3, &arg4);
+ LuaPush_SpriteFont(L, result);
+ return 1;
+}
+
int lua_UnloadSpriteFont(lua_State* L)
{
SpriteFont arg1 = LuaGetArgument_SpriteFont(L, 1);
@@ -2255,8 +2285,8 @@ int lua_DrawCircle3D(lua_State* L)
{
Vector3 arg1 = LuaGetArgument_Vector3(L, 1);
float arg2 = LuaGetArgument_float(L, 2);
- float arg3 = LuaGetArgument_float(L, 3);
- Vector3 arg4 = LuaGetArgument_Vector3(L, 4);
+ Vector3 arg3 = LuaGetArgument_Vector3(L, 3);
+ float arg4 = LuaGetArgument_float(L, 4);
Color arg5 = LuaGetArgument_Color(L, 5);
DrawCircle3D(arg1, arg2, arg3, arg4, arg5);
return 0;
@@ -2619,18 +2649,6 @@ int lua_CheckCollisionRayBox(lua_State* L)
return 1;
}
-int lua_ResolveCollisionCubicmap(lua_State* L)
-{
- Image arg1 = LuaGetArgument_Image(L, 1);
- Vector3 arg2 = LuaGetArgument_Vector3(L, 2);
- Vector3 arg3 = LuaGetArgument_Vector3(L, 3);
- float arg4 = LuaGetArgument_float(L, 4);
- Vector3 result = ResolveCollisionCubicmap(arg1, arg2, &arg3, arg4);
- LuaPush_Vector3(L, result);
- LuaPush_Vector3(L, arg3);
- return 2;
-}
-
//------------------------------------------------------------------------------------
// raylib [raymath] module functions - Shaders
//------------------------------------------------------------------------------------
@@ -2790,10 +2808,19 @@ int lua_IsVrDeviceReady(lua_State* L)
return 1;
}
+int lua_IsVrSimulator(lua_State* L)
+{
+ bool result = IsVrSimulator();
+ lua_pushboolean(L, result);
+ return 1;
+}
+
int lua_UpdateVrTracking(lua_State* L)
{
- UpdateVrTracking();
- return 0;
+ Camera arg1 = LuaGetArgument_Camera(L, 1);
+ UpdateVrTracking(&arg1);
+ LuaPush_Camera(L, arg1);
+ return 1;
}
int lua_ToggleVrMode(lua_State* L)
@@ -2873,6 +2900,8 @@ int lua_LoadSoundFromRES(lua_State* L)
int lua_UpdateSound(lua_State* L)
{
+ // TODO: void UpdateSound(Sound sound, void *data, int numSamples);
+
Sound arg1 = LuaGetArgument_Sound(L, 1);
const char * arg2 = LuaGetArgument_string(L, 2);
int * arg3 = LuaGetArgument_int(L, 3);
@@ -2952,11 +2981,11 @@ int lua_WaveFormat(lua_State* L)
int arg2 = LuaGetArgument_int(L, 2);
int arg3 = LuaGetArgument_int(L, 3);
int arg4 = LuaGetArgument_int(L, 4);
- WaveFormat(arg1, arg2, arg3, arg4);
+ WaveFormat(&arg1, arg2, arg3, arg4);
return 0;
}
-int lua_LoadMusicStream(lua_State* L)
+int lua_WaveCopy(lua_State* L)
{
Wave arg1 = LuaGetArgument_Wave(L, 1);
Wave result = WaveCopy(arg1);
@@ -2969,7 +2998,7 @@ int lua_WaveCrop(lua_State* L)
Wave arg1 = LuaGetArgument_Wave(L, 1);
int arg2 = LuaGetArgument_int(L, 2);
int arg3 = LuaGetArgument_int(L, 3);
- WaveCrop(arg1, arg2, arg3);
+ WaveCrop(&arg1, arg2, arg3);
return 0;
}
@@ -2978,9 +3007,10 @@ int lua_GetWaveData(lua_State* L)
// TODO: float *GetWaveData(Wave wave);
Wave arg1 = LuaGetArgument_Wave(L, 1);
- float result = GetWaveData(arg1);
- LuaPush_float(L, result);
- return 1;
+ float * result = GetWaveData(arg1);
+ //LuaPush_float(L, result);
+ //lua_pushnumber(L, result);
+ return 0;
}
int lua_LoadMusicStream(lua_State* L)
@@ -3012,7 +3042,6 @@ int lua_PlayMusicStream(lua_State* L)
return 0;
}
-
int lua_StopMusicStream(lua_State* L)
{
Music arg1 = LuaGetArgument_Music(L, 1);
@@ -3093,6 +3122,8 @@ int lua_CloseAudioStream(lua_State* L)
int lua_UpdateAudioStream(lua_State* L)
{
+ // TODO: void UpdateAudioStream(AudioStream stream, void *data, int numSamples);
+
AudioStream arg1 = LuaGetArgument_AudioStream(L, 1);
void * arg2 = (char *)LuaGetArgument_string(L, 2);
int arg3 = LuaGetArgument_int(L, 3);
@@ -3667,7 +3698,6 @@ static luaL_Reg raylib_functions[] = {
REG(StorageSaveValue)
REG(StorageLoadValue)
-#if defined(PLATFORM_DESKTOP) || defined(PLATFORM_RPI) || defined(PLATFORM_WEB)
REG(IsKeyPressed)
REG(IsKeyDown)
REG(IsKeyReleased)
@@ -3676,12 +3706,15 @@ static luaL_Reg raylib_functions[] = {
REG(SetExitKey)
REG(IsGamepadAvailable)
- REG(GetGamepadAxisMovement)
+ REG(IsGamepadName)
+ REG(GetGamepadName)
REG(IsGamepadButtonPressed)
REG(IsGamepadButtonDown)
REG(IsGamepadButtonReleased)
REG(IsGamepadButtonUp)
-#endif
+ REG(GetGamepadButtonPressed)
+ REG(GetGamepadAxisCount)
+ REG(GetGamepadAxisMovement)
REG(IsMouseButtonPressed)
REG(IsMouseButtonDown)
@@ -3714,16 +3747,10 @@ static luaL_Reg raylib_functions[] = {
REG(SetCameraMode)
REG(UpdateCamera)
- REG(UpdateCameraPlayer)
- REG(SetCameraPosition)
- REG(SetCameraTarget)
- REG(SetCameraFovy)
-
REG(SetCameraPanControl)
REG(SetCameraAltControl)
REG(SetCameraSmoothZoomControl)
REG(SetCameraMoveControls)
- REG(SetCameraMouseSensitivity)
REG(DrawPixel)
REG(DrawPixelV)
@@ -3766,6 +3793,7 @@ static luaL_Reg raylib_functions[] = {
REG(UnloadRenderTexture)
REG(GetImageData)
REG(GetTextureData)
+ REG(UpdateTexture)
REG(ImageToPOT)
REG(ImageFormat)
REG(ImageDither)
@@ -3786,8 +3814,9 @@ static luaL_Reg raylib_functions[] = {
REG(ImageColorContrast)
REG(ImageColorBrightness)
REG(GenTextureMipmaps)
- REG(UpdateTexture)
-
+ REG(SetTextureFilter)
+ REG(SetTextureWrap)
+
REG(DrawTexture)
REG(DrawTextureV)
REG(DrawTextureEx)
@@ -3796,6 +3825,7 @@ static luaL_Reg raylib_functions[] = {
REG(GetDefaultFont)
REG(LoadSpriteFont)
+ REG(LoadSpriteFontTTF)
REG(UnloadSpriteFont)
REG(DrawText)
REG(DrawTextEx)
@@ -3845,7 +3875,6 @@ static luaL_Reg raylib_functions[] = {
REG(CheckCollisionRaySphere)
REG(CheckCollisionRaySphereEx)
REG(CheckCollisionRayBox)
- REG(ResolveCollisionCubicmap)
REG(LoadShader)
REG(UnloadShader)
@@ -3868,6 +3897,7 @@ static luaL_Reg raylib_functions[] = {
REG(InitVrDevice)
REG(CloseVrDevice)
REG(IsVrDeviceReady)
+ REG(IsVrSimulator)
REG(UpdateVrTracking)
REG(ToggleVrMode)
@@ -4067,24 +4097,36 @@ RLUADEF void InitLuaDevice(void)
LuaSetEnum("RIGHT_BUTTON", 1);
LuaSetEnum("MIDDLE_BUTTON", 2);
LuaEndEnum("MOUSE");
-
+
LuaStartEnum();
LuaSetEnum("PLAYER1", 0);
LuaSetEnum("PLAYER2", 1);
LuaSetEnum("PLAYER3", 2);
LuaSetEnum("PLAYER4", 3);
- LuaSetEnum("PS3_BUTTON_A", 2);
- LuaSetEnum("PS3_BUTTON_B", 1);
- LuaSetEnum("PS3_BUTTON_X", 3);
- LuaSetEnum("PS3_BUTTON_Y", 4);
- LuaSetEnum("PS3_BUTTON_R1", 7);
- LuaSetEnum("PS3_BUTTON_R2", 5);
+ LuaSetEnum("PS3_BUTTON_TRIANGLE", 0);
+ LuaSetEnum("PS3_BUTTON_CIRCLE", 1);
+ LuaSetEnum("PS3_BUTTON_CROSS", 2);
+ LuaSetEnum("PS3_BUTTON_SQUARE", 3);
LuaSetEnum("PS3_BUTTON_L1", 6);
- LuaSetEnum("PS3_BUTTON_L2", 8);
+ LuaSetEnum("PS3_BUTTON_R1", 7);
+ LuaSetEnum("PS3_BUTTON_L2", 4);
+ LuaSetEnum("PS3_BUTTON_R2", 5);
+ LuaSetEnum("PS3_BUTTON_START", 8);
LuaSetEnum("PS3_BUTTON_SELECT", 9);
- LuaSetEnum("PS3_BUTTON_START", 10);
-
+ LuaSetEnum("PS3_BUTTON_UP", 24);
+ LuaSetEnum("PS3_BUTTON_RIGHT", 25);
+ LuaSetEnum("PS3_BUTTON_DOWN", 26);
+ LuaSetEnum("PS3_BUTTON_LEFT", 27);
+ LuaSetEnum("PS3_BUTTON_PS", 12);
+ LuaSetEnum("PS3_AXIS_LEFT_X", 0);
+ LuaSetEnum("PS3_AXIS_LEFT_Y", 1);
+ LuaSetEnum("PS3_AXIS_RIGHT_X", 2);
+ LuaSetEnum("PS3_AXIS_RIGHT_Y", 5);
+ LuaSetEnum("PS3_AXIS_L2", 3); // [1..-1] (pressure-level)
+ LuaSetEnum("PS3_AXIS_R2", 4); // [1..-1] (pressure-level)
+
+// Xbox360 USB Controller Buttons
LuaSetEnum("XBOX_BUTTON_A", 0);
LuaSetEnum("XBOX_BUTTON_B", 1);
LuaSetEnum("XBOX_BUTTON_X", 2);
@@ -4093,25 +4135,26 @@ RLUADEF void InitLuaDevice(void)
LuaSetEnum("XBOX_BUTTON_RB", 5);
LuaSetEnum("XBOX_BUTTON_SELECT", 6);
LuaSetEnum("XBOX_BUTTON_START", 7);
-
-#if defined(PLATFORM_RPI)
- LuaSetEnum("XBOX_AXIS_DPAD_X", 7);
- LuaSetEnum("XBOX_AXIS_DPAD_Y", 6);
- LuaSetEnum("XBOX_AXIS_RIGHT_X", 3);
- LuaSetEnum("XBOX_AXIS_RIGHT_Y", 4);
- LuaSetEnum("XBOX_AXIS_LT", 2);
- LuaSetEnum("XBOX_AXIS_RT", 5);
-#else
LuaSetEnum("XBOX_BUTTON_UP", 10);
+ LuaSetEnum("XBOX_BUTTON_RIGHT", 11);
LuaSetEnum("XBOX_BUTTON_DOWN", 12);
LuaSetEnum("XBOX_BUTTON_LEFT", 13);
- LuaSetEnum("XBOX_BUTTON_RIGHT", 11);
- LuaSetEnum("XBOX_AXIS_RIGHT_X", 4);
- LuaSetEnum("XBOX_AXIS_RIGHT_Y", 3);
- LuaSetEnum("XBOX_AXIS_LT_RT", 2);
+ LuaSetEnum("XBOX_BUTTON_HOME", 8);
+#if defined(PLATFORM_RPI)
+ LuaSetEnum("XBOX_AXIS_LEFT_X", 0); // [-1..1] (left->right)
+ LuaSetEnum("XBOX_AXIS_LEFT_Y", 1); // [-1..1] (up->down)
+ LuaSetEnum("XBOX_AXIS_RIGHT_X", 3); // [-1..1] (left->right)
+ LuaSetEnum("XBOX_AXIS_RIGHT_Y", 4); // [-1..1] (up->down)
+ LuaSetEnum("XBOX_AXIS_LT", 2); // [-1..1] (pressure-level)
+ LuaSetEnum("XBOX_AXIS_RT", 5); // [-1..1] (pressure-level)
+#else
+ LuaSetEnum("XBOX_AXIS_LEFT_X", 0); // [-1..1] (left->right)
+ LuaSetEnum("XBOX_AXIS_LEFT_Y", 1); // [1..-1] (up->down)
+ LuaSetEnum("XBOX_AXIS_RIGHT_X", 2); // [-1..1] (left->right)
+ LuaSetEnum("XBOX_AXIS_RIGHT_Y", 3); // [1..-1] (up->down)
+ LuaSetEnum("XBOX_AXIS_LT", 4); // [-1..1] (pressure-level)
+ LuaSetEnum("XBOX_AXIS_RT", 5); // [-1..1] (pressure-level)
#endif
- LuaSetEnum("XBOX_AXIS_LEFT_X", 0);
- LuaSetEnum("XBOX_AXIS_LEFT_Y", 1);
LuaEndEnum("GAMEPAD");
lua_pushglobaltable(L);
@@ -4175,6 +4218,15 @@ RLUADEF void InitLuaDevice(void)
LuaSetEnum("DIRECTIONAL", LIGHT_DIRECTIONAL);
LuaSetEnum("SPOT", LIGHT_SPOT);
LuaEndEnum("LightType");
+
+ LuaStartEnum();
+ LuaSetEnum("POINT", FILTER_POINT);
+ LuaSetEnum("BILINEAR", FILTER_BILINEAR);
+ LuaSetEnum("TRILINEAR", FILTER_TRILINEAR);
+ LuaSetEnum("ANISOTROPIC_4X", FILTER_ANISOTROPIC_4X);
+ LuaSetEnum("ANISOTROPIC_8X", FILTER_ANISOTROPIC_8X);
+ LuaSetEnum("ANISOTROPIC_16X", FILTER_ANISOTROPIC_16X);
+ LuaEndEnum("TextureFilter");
LuaStartEnum();
LuaSetEnum("NONE", GESTURE_NONE);