From 735968e68543bb5141122f181608d0d7ada9a3be Mon Sep 17 00:00:00 2001 From: raysan5 Date: Wed, 3 Aug 2016 21:38:21 +0200 Subject: [rlua] new module: raylib Lua binding --- examples/rlua_execute_file.c | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 examples/rlua_execute_file.c (limited to 'examples/rlua_execute_file.c') diff --git a/examples/rlua_execute_file.c b/examples/rlua_execute_file.c new file mode 100644 index 00000000..b21a4459 --- /dev/null +++ b/examples/rlua_execute_file.c @@ -0,0 +1,39 @@ +/******************************************************************************************* +* +* raylib [rlua] example - Lua file execution +* +* NOTE: This example requires Lua library (http://luabinaries.sourceforge.net/download.html) +* +* Compile example using: +* gcc -o $(NAME_PART).exe $(FILE_NAME) $(RAYLIB_DIR)\raylib_icon / +* -I../src -I../src/external/lua/include -L../src/external/lua/lib / +* -lraylib -lglfw3 -lopengl32 -lopenal32 -llua53 -lgdi32 -std=c99 +* +* This example has been created using raylib 1.6 (www.raylib.com) +* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* +* Copyright (c) 2013-2016 Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + +#include "raylib.h" + +#define RLUA_IMPLEMENTATION +#include "rlua.h" + +int main() +{ + // Initialization + //-------------------------------------------------------------------------------------- + InitLuaDevice(); + //-------------------------------------------------------------------------------------- + + ExecuteLuaFile("core_basic_window.lua"); + + // De-Initialization + //-------------------------------------------------------------------------------------- + CloseLuaDevice(); // Close Lua device and free resources + //-------------------------------------------------------------------------------------- + + return 0; +} \ No newline at end of file -- cgit v1.2.3 From 00c7e54d3c593dbddb036f2185e614e7e4b22a1f Mon Sep 17 00:00:00 2001 From: raysan5 Date: Sat, 6 Aug 2016 11:32:35 +0200 Subject: Add raylib lua examples --- examples/rlua_execute_file.c | 53 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) (limited to 'examples/rlua_execute_file.c') diff --git a/examples/rlua_execute_file.c b/examples/rlua_execute_file.c index b21a4459..762159f3 100644 --- a/examples/rlua_execute_file.c +++ b/examples/rlua_execute_file.c @@ -28,7 +28,58 @@ int main() InitLuaDevice(); //-------------------------------------------------------------------------------------- - ExecuteLuaFile("core_basic_window.lua"); + // ExecuteLuaFile("core_basic_window.lua"); // OK! + // ExecuteLuaFile("core_input_keys.lua"); // OK! + // ExecuteLuaFile("core_input_mouse.lua"); // OK! + // ExecuteLuaFile("core_mouse_wheel.lua"); // OK! + // ExecuteLuaFile("core_input_gamepad.lua"); // OK! + // ExecuteLuaFile("core_random_values.lua"); // OK! + // ExecuteLuaFile("core_color_select.lua"); // OK! + // ExecuteLuaFile("core_drop_files.lua"); // ERROR: GetDroppedFiles() + // ExecuteLuaFile("core_storage_values.lua"); // OK! + // ExecuteLuaFile("core_gestures_detection.lua"); // OK! + // ExecuteLuaFile("core_3d_mode.lua"); // ERROR: Lua Error: attempt to index a number value - Begin3dMode() + // ExecuteLuaFile("core_3d_picking.lua"); // ERROR: Lua Error: attempt to index a number value + // ExecuteLuaFile("core_3d_camera_free.lua"); // ERROR: Lua Error: attempt to index a number value + // ExecuteLuaFile("core_3d_camera_first_person.lua"); // ERROR: Lua Error: attempt to index a number value + // ExecuteLuaFile("core_2d_camera.lua"); // ERROR: Lua Error: attempt to index a number value - Begin2dMode() + // ExecuteLuaFile("core_world_screen.lua"); // ERROR: Lua Error: attempt to index a number value + // ExecuteLuaFile("core_oculus_rift.lua"); // ERROR: Lua Error: attempt to index a number value + // ExecuteLuaFile("shapes_logo_raylib.lua"); // OK! + // ExecuteLuaFile("shapes_basic_shapes.lua"); // OK! + // ExecuteLuaFile("shapes_colors_palette.lua"); // OK! + // ExecuteLuaFile("shapes_logo_raylib_anim.lua"); // OK! NOTE: Use lua string.sub() instead of raylib SubText() + // ExecuteLuaFile("textures_logo_raylib.lua"); // OK! + // ExecuteLuaFile("textures_image_loading.lua"); // OK! + // ExecuteLuaFile("textures_rectangle.lua"); // OK! + // ExecuteLuaFile("textures_srcrec_dstrec.lua"); // OK! + // ExecuteLuaFile("textures_to_image.lua"); // OK! + // ExecuteLuaFile("textures_raw_data.lua"); // ERROR: Lua Error: attempt to index a number value + // ExecuteLuaFile("textures_formats_loading.lua"); // ISSUE: texture.id not exposed to be checked + // ExecuteLuaFile("textures_particles_trail_blending.lua"); // ERROR: Using struct + // ExecuteLuaFile("textures_image_processing.lua"); // ERROR: GetImageData() --> UpdateTexture() + // ExecuteLuaFile("textures_image_drawing.lua"); // OK! + // ExecuteLuaFile("text_sprite_fonts.lua"); // OK! + // ExecuteLuaFile("text_bmfont_ttf.lua"); // OK! + // ExecuteLuaFile("text_rbmf_fonts.lua"); // ERROR: Lua Error: attempt to index a nil value + // ExecuteLuaFile("text_format_text.lua"); // OK! NOTE: Use lua string.format() instead of raylib FormatText() + // ExecuteLuaFile("text_font_select.lua"); // OK! + // ExecuteLuaFile("text_writing_anim.lua"); // ERROR: SubText() + // ExecuteLuaFile("models_geometric_shapes.lua"); // ERROR: Lua Error: attempt to index a number value - Begin3dMode(camera) + // ExecuteLuaFile("models_box_collisions.lua"); // + // ExecuteLuaFile("models_billboard.lua"); // + // ExecuteLuaFile("models_obj_loading.lua"); // + // ExecuteLuaFile("models_heightmap.lua"); // + // ExecuteLuaFile("models_cubicmap.lua"); // + // ExecuteLuaFile("shaders_model_shader.lua"); // + // ExecuteLuaFile("shaders_shapes_textures.lua"); // + // ExecuteLuaFile("shaders_custom_uniform.lua"); // + // ExecuteLuaFile("shaders_postprocessing.lua"); // + // ExecuteLuaFile("shaders_standard_lighting.lua"); // + // ExecuteLuaFile("audio_sound_loading.lua"); // OK! + // ExecuteLuaFile("audio_music_stream.lua"); // OK! + // ExecuteLuaFile("audio_module_playing.lua"); // ERROR: Using struct + // ExecuteLuaFile("audio_raw_stream.lua"); // ERROR: UpdateAudioStream() // De-Initialization //-------------------------------------------------------------------------------------- -- cgit v1.2.3 From 4960e6b6d7b4cba6125cfb8bb2fef043db8e5ba5 Mon Sep 17 00:00:00 2001 From: ghassanpl Date: Sat, 6 Aug 2016 16:58:48 +0200 Subject: Fixes for some Lua bugs --- examples/rlua_execute_file.c | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) (limited to 'examples/rlua_execute_file.c') diff --git a/examples/rlua_execute_file.c b/examples/rlua_execute_file.c index 762159f3..5c2d8654 100644 --- a/examples/rlua_execute_file.c +++ b/examples/rlua_execute_file.c @@ -29,8 +29,8 @@ int main() //-------------------------------------------------------------------------------------- // ExecuteLuaFile("core_basic_window.lua"); // OK! - // ExecuteLuaFile("core_input_keys.lua"); // OK! - // ExecuteLuaFile("core_input_mouse.lua"); // OK! + // ExecuteLuaFile("core_input_keys.lua"); // OK! + // ExecuteLuaFile("core_input_mouse.lua"); // OK! // ExecuteLuaFile("core_mouse_wheel.lua"); // OK! // ExecuteLuaFile("core_input_gamepad.lua"); // OK! // ExecuteLuaFile("core_random_values.lua"); // OK! @@ -55,31 +55,31 @@ int main() // ExecuteLuaFile("textures_srcrec_dstrec.lua"); // OK! // ExecuteLuaFile("textures_to_image.lua"); // OK! // ExecuteLuaFile("textures_raw_data.lua"); // ERROR: Lua Error: attempt to index a number value - // ExecuteLuaFile("textures_formats_loading.lua"); // ISSUE: texture.id not exposed to be checked - // ExecuteLuaFile("textures_particles_trail_blending.lua"); // ERROR: Using struct - // ExecuteLuaFile("textures_image_processing.lua"); // ERROR: GetImageData() --> UpdateTexture() - // ExecuteLuaFile("textures_image_drawing.lua"); // OK! - // ExecuteLuaFile("text_sprite_fonts.lua"); // OK! - // ExecuteLuaFile("text_bmfont_ttf.lua"); // OK! - // ExecuteLuaFile("text_rbmf_fonts.lua"); // ERROR: Lua Error: attempt to index a nil value - // ExecuteLuaFile("text_format_text.lua"); // OK! NOTE: Use lua string.format() instead of raylib FormatText() - // ExecuteLuaFile("text_font_select.lua"); // OK! - // ExecuteLuaFile("text_writing_anim.lua"); // ERROR: SubText() - // ExecuteLuaFile("models_geometric_shapes.lua"); // ERROR: Lua Error: attempt to index a number value - Begin3dMode(camera) - // ExecuteLuaFile("models_box_collisions.lua"); // - // ExecuteLuaFile("models_billboard.lua"); // - // ExecuteLuaFile("models_obj_loading.lua"); // - // ExecuteLuaFile("models_heightmap.lua"); // + // ExecuteLuaFile("textures_formats_loading.lua"); // ISSUE: texture.id not exposed to be checked + // ExecuteLuaFile("textures_particles_trail_blending.lua"); // ERROR: Using struct + // ExecuteLuaFile("textures_image_processing.lua"); // ERROR: GetImageData() --> UpdateTexture() + // ExecuteLuaFile("textures_image_drawing.lua"); // OK! + // ExecuteLuaFile("text_sprite_fonts.lua"); // OK! + // ExecuteLuaFile("text_bmfont_ttf.lua"); // OK! + // ExecuteLuaFile("text_rbmf_fonts.lua"); // ERROR: Lua Error: attempt to index a nil value + // ExecuteLuaFile("text_format_text.lua"); // OK! NOTE: Use lua string.format() instead of raylib FormatText() + // ExecuteLuaFile("text_font_select.lua"); // OK! + // ExecuteLuaFile("text_writing_anim.lua"); // ERROR: SubText() + // ExecuteLuaFile("models_geometric_shapes.lua"); // ERROR: Lua Error: attempt to index a number value - Begin3dMode(camera) + // ExecuteLuaFile("models_box_collisions.lua"); // + // ExecuteLuaFile("models_billboard.lua"); // + // ExecuteLuaFile("models_obj_loading.lua"); // + // ExecuteLuaFile("models_heightmap.lua"); // // ExecuteLuaFile("models_cubicmap.lua"); // - // ExecuteLuaFile("shaders_model_shader.lua"); // - // ExecuteLuaFile("shaders_shapes_textures.lua"); // + // ExecuteLuaFile("shaders_model_shader.lua"); // + // ExecuteLuaFile("shaders_shapes_textures.lua"); // // ExecuteLuaFile("shaders_custom_uniform.lua"); // // ExecuteLuaFile("shaders_postprocessing.lua"); // // ExecuteLuaFile("shaders_standard_lighting.lua"); // // ExecuteLuaFile("audio_sound_loading.lua"); // OK! // ExecuteLuaFile("audio_music_stream.lua"); // OK! - // ExecuteLuaFile("audio_module_playing.lua"); // ERROR: Using struct - // ExecuteLuaFile("audio_raw_stream.lua"); // ERROR: UpdateAudioStream() + ExecuteLuaFile("audio_module_playing.lua"); // ERROR: Using struct + ExecuteLuaFile("audio_raw_stream.lua"); // ERROR: UpdateAudioStream() // De-Initialization //-------------------------------------------------------------------------------------- -- cgit v1.2.3 From 865b216ebef8e62a19f3a264001ddf17601f95c5 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Sat, 6 Aug 2016 19:29:58 +0200 Subject: Updated Lua examples Most of the examples already working! Only some of them still fail, mostly related to data arrays... --- examples/rlua_execute_file.c | 66 ++++++++++++++++++++++---------------------- 1 file changed, 33 insertions(+), 33 deletions(-) (limited to 'examples/rlua_execute_file.c') diff --git a/examples/rlua_execute_file.c b/examples/rlua_execute_file.c index 5c2d8654..6050cf14 100644 --- a/examples/rlua_execute_file.c +++ b/examples/rlua_execute_file.c @@ -29,8 +29,8 @@ int main() //-------------------------------------------------------------------------------------- // ExecuteLuaFile("core_basic_window.lua"); // OK! - // ExecuteLuaFile("core_input_keys.lua"); // OK! - // ExecuteLuaFile("core_input_mouse.lua"); // OK! + // ExecuteLuaFile("core_input_keys.lua"); // OK! + // ExecuteLuaFile("core_input_mouse.lua"); // OK! // ExecuteLuaFile("core_mouse_wheel.lua"); // OK! // ExecuteLuaFile("core_input_gamepad.lua"); // OK! // ExecuteLuaFile("core_random_values.lua"); // OK! @@ -38,13 +38,13 @@ int main() // ExecuteLuaFile("core_drop_files.lua"); // ERROR: GetDroppedFiles() // ExecuteLuaFile("core_storage_values.lua"); // OK! // ExecuteLuaFile("core_gestures_detection.lua"); // OK! - // ExecuteLuaFile("core_3d_mode.lua"); // ERROR: Lua Error: attempt to index a number value - Begin3dMode() - // ExecuteLuaFile("core_3d_picking.lua"); // ERROR: Lua Error: attempt to index a number value - // ExecuteLuaFile("core_3d_camera_free.lua"); // ERROR: Lua Error: attempt to index a number value - // ExecuteLuaFile("core_3d_camera_first_person.lua"); // ERROR: Lua Error: attempt to index a number value - // ExecuteLuaFile("core_2d_camera.lua"); // ERROR: Lua Error: attempt to index a number value - Begin2dMode() - // ExecuteLuaFile("core_world_screen.lua"); // ERROR: Lua Error: attempt to index a number value - // ExecuteLuaFile("core_oculus_rift.lua"); // ERROR: Lua Error: attempt to index a number value + // ExecuteLuaFile("core_3d_mode.lua"); // OK! + // ExecuteLuaFile("core_3d_picking.lua"); // ISSUE: CheckCollisionRayBox() returns false despite touching box + // ExecuteLuaFile("core_3d_camera_free.lua"); // OK! + // ExecuteLuaFile("core_3d_camera_first_person.lua"); // OK! + // ExecuteLuaFile("core_2d_camera.lua"); // OK! + // ExecuteLuaFile("core_world_screen.lua"); // OK! + // ExecuteLuaFile("core_oculus_rift.lua"); // OK! // ExecuteLuaFile("shapes_logo_raylib.lua"); // OK! // ExecuteLuaFile("shapes_basic_shapes.lua"); // OK! // ExecuteLuaFile("shapes_colors_palette.lua"); // OK! @@ -54,31 +54,31 @@ int main() // ExecuteLuaFile("textures_rectangle.lua"); // OK! // ExecuteLuaFile("textures_srcrec_dstrec.lua"); // OK! // ExecuteLuaFile("textures_to_image.lua"); // OK! - // ExecuteLuaFile("textures_raw_data.lua"); // ERROR: Lua Error: attempt to index a number value - // ExecuteLuaFile("textures_formats_loading.lua"); // ISSUE: texture.id not exposed to be checked - // ExecuteLuaFile("textures_particles_trail_blending.lua"); // ERROR: Using struct - // ExecuteLuaFile("textures_image_processing.lua"); // ERROR: GetImageData() --> UpdateTexture() - // ExecuteLuaFile("textures_image_drawing.lua"); // OK! - // ExecuteLuaFile("text_sprite_fonts.lua"); // OK! - // ExecuteLuaFile("text_bmfont_ttf.lua"); // OK! - // ExecuteLuaFile("text_rbmf_fonts.lua"); // ERROR: Lua Error: attempt to index a nil value - // ExecuteLuaFile("text_format_text.lua"); // OK! NOTE: Use lua string.format() instead of raylib FormatText() - // ExecuteLuaFile("text_font_select.lua"); // OK! - // ExecuteLuaFile("text_writing_anim.lua"); // ERROR: SubText() - // ExecuteLuaFile("models_geometric_shapes.lua"); // ERROR: Lua Error: attempt to index a number value - Begin3dMode(camera) - // ExecuteLuaFile("models_box_collisions.lua"); // - // ExecuteLuaFile("models_billboard.lua"); // - // ExecuteLuaFile("models_obj_loading.lua"); // - // ExecuteLuaFile("models_heightmap.lua"); // - // ExecuteLuaFile("models_cubicmap.lua"); // - // ExecuteLuaFile("shaders_model_shader.lua"); // - // ExecuteLuaFile("shaders_shapes_textures.lua"); // - // ExecuteLuaFile("shaders_custom_uniform.lua"); // - // ExecuteLuaFile("shaders_postprocessing.lua"); // - // ExecuteLuaFile("shaders_standard_lighting.lua"); // + // ExecuteLuaFile("textures_raw_data.lua"); // ERROR: bad argument #2 to 'LoadImageEx' (number expected, got no value) + // ExecuteLuaFile("textures_formats_loading.lua"); // ISSUE: texture.id not exposed to be checked (not really an issue...) + // ExecuteLuaFile("textures_particles_trail_blending.lua"); // OK! + // ExecuteLuaFile("textures_image_processing.lua"); // ERROR: GetImageData() --> UpdateTexture() + // ExecuteLuaFile("textures_image_drawing.lua"); // OK! + // ExecuteLuaFile("text_sprite_fonts.lua"); // OK! + // ExecuteLuaFile("text_bmfont_ttf.lua"); // OK! + // ExecuteLuaFile("text_rbmf_fonts.lua"); // OK! + // ExecuteLuaFile("text_format_text.lua"); // OK! NOTE: Use lua string.format() instead of raylib FormatText() + // ExecuteLuaFile("text_font_select.lua"); // OK! + // ExecuteLuaFile("text_writing_anim.lua"); // OK! + // ExecuteLuaFile("models_geometric_shapes.lua"); // OK! + // ExecuteLuaFile("models_box_collisions.lua"); // OK! + // ExecuteLuaFile("models_billboard.lua"); // OK! + // ExecuteLuaFile("models_obj_loading.lua"); // OK! + // ExecuteLuaFile("models_heightmap.lua"); // OK! + // ExecuteLuaFile("models_cubicmap.lua"); // OK! + // ExecuteLuaFile("shaders_model_shader.lua"); // OK! + // ExecuteLuaFile("shaders_shapes_textures.lua"); // OK! + // ExecuteLuaFile("shaders_custom_uniform.lua"); // ISSUE: SetShaderValue() + // ExecuteLuaFile("shaders_postprocessing.lua"); // OK! + // ExecuteLuaFile("shaders_standard_lighting.lua"); // ERROR: CreateLight() returns an opaque pointer (fields can not be accessed) // ExecuteLuaFile("audio_sound_loading.lua"); // OK! // ExecuteLuaFile("audio_music_stream.lua"); // OK! - ExecuteLuaFile("audio_module_playing.lua"); // ERROR: Using struct + // ExecuteLuaFile("audio_module_playing.lua"); // OK! ExecuteLuaFile("audio_raw_stream.lua"); // ERROR: UpdateAudioStream() // De-Initialization @@ -86,5 +86,5 @@ int main() CloseLuaDevice(); // Close Lua device and free resources //-------------------------------------------------------------------------------------- - return 0; + return 0; } \ No newline at end of file -- cgit v1.2.3 From 2c079d7c6ea0a5a252f0d3f93bc39e8f5700e23a Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 7 Aug 2016 11:14:08 +0200 Subject: Review Lua examples and formatting --- examples/rlua_execute_file.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'examples/rlua_execute_file.c') diff --git a/examples/rlua_execute_file.c b/examples/rlua_execute_file.c index 6050cf14..71720313 100644 --- a/examples/rlua_execute_file.c +++ b/examples/rlua_execute_file.c @@ -35,11 +35,11 @@ int main() // ExecuteLuaFile("core_input_gamepad.lua"); // OK! // ExecuteLuaFile("core_random_values.lua"); // OK! // ExecuteLuaFile("core_color_select.lua"); // OK! - // ExecuteLuaFile("core_drop_files.lua"); // ERROR: GetDroppedFiles() + // ExecuteLuaFile("core_drop_files.lua"); // OK! // ExecuteLuaFile("core_storage_values.lua"); // OK! // ExecuteLuaFile("core_gestures_detection.lua"); // OK! // ExecuteLuaFile("core_3d_mode.lua"); // OK! - // ExecuteLuaFile("core_3d_picking.lua"); // ISSUE: CheckCollisionRayBox() returns false despite touching box + // ExecuteLuaFile("core_3d_picking.lua"); // OK! // ExecuteLuaFile("core_3d_camera_free.lua"); // OK! // ExecuteLuaFile("core_3d_camera_first_person.lua"); // OK! // ExecuteLuaFile("core_2d_camera.lua"); // OK! @@ -54,8 +54,8 @@ int main() // ExecuteLuaFile("textures_rectangle.lua"); // OK! // ExecuteLuaFile("textures_srcrec_dstrec.lua"); // OK! // ExecuteLuaFile("textures_to_image.lua"); // OK! - // ExecuteLuaFile("textures_raw_data.lua"); // ERROR: bad argument #2 to 'LoadImageEx' (number expected, got no value) - // ExecuteLuaFile("textures_formats_loading.lua"); // ISSUE: texture.id not exposed to be checked (not really an issue...) + // ExecuteLuaFile("textures_raw_data.lua"); // ERROR: LoadImageEx() + // ExecuteLuaFile("textures_formats_loading.lua"); // OK! // ExecuteLuaFile("textures_particles_trail_blending.lua"); // OK! // ExecuteLuaFile("textures_image_processing.lua"); // ERROR: GetImageData() --> UpdateTexture() // ExecuteLuaFile("textures_image_drawing.lua"); // OK! @@ -73,13 +73,13 @@ int main() // ExecuteLuaFile("models_cubicmap.lua"); // OK! // ExecuteLuaFile("shaders_model_shader.lua"); // OK! // ExecuteLuaFile("shaders_shapes_textures.lua"); // OK! - // ExecuteLuaFile("shaders_custom_uniform.lua"); // ISSUE: SetShaderValue() + // ExecuteLuaFile("shaders_custom_uniform.lua"); // OK! // ExecuteLuaFile("shaders_postprocessing.lua"); // OK! - // ExecuteLuaFile("shaders_standard_lighting.lua"); // ERROR: CreateLight() returns an opaque pointer (fields can not be accessed) + // ExecuteLuaFile("shaders_standard_lighting.lua"); // OK! // ExecuteLuaFile("audio_sound_loading.lua"); // OK! // ExecuteLuaFile("audio_music_stream.lua"); // OK! // ExecuteLuaFile("audio_module_playing.lua"); // OK! - ExecuteLuaFile("audio_raw_stream.lua"); // ERROR: UpdateAudioStream() + // ExecuteLuaFile("audio_raw_stream.lua"); // ERROR: UpdateAudioStream() // De-Initialization //-------------------------------------------------------------------------------------- -- cgit v1.2.3