diff options
Diffstat (limited to 'src/rlua.h')
| -rw-r--r-- | src/rlua.h | 276 |
1 files changed, 164 insertions, 112 deletions
@@ -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); |
