Early work on raylib 4.0, updated all submodules

This commit is contained in:
TSnake41 2021-10-02 19:03:57 +02:00
parent 353b431aef
commit 8815751ac9
16 changed files with 542 additions and 140 deletions

View File

@ -4,10 +4,8 @@ rl.InitWindow(800, 450, "raylib [core] example - basic window")
while not rl.WindowShouldClose() do while not rl.WindowShouldClose() do
rl.BeginDrawing() rl.BeginDrawing()
rl.ClearBackground(rl.RAYWHITE) rl.ClearBackground(rl.RAYWHITE)
rl.DrawText("Congrats! You created your first window!", 190, 200, 20, rl.LIGHTGRAY) rl.DrawText("Congrats! You created your first window!", 190, 200, 20, rl.LIGHTGRAY)
rl.EndDrawing() rl.EndDrawing()
end end

View File

@ -9,11 +9,11 @@ while not rl.WindowShouldClose() do
ball_position.x = rl.GetMouseX() ball_position.x = rl.GetMouseX()
ball_position.y = rl.GetMouseY() ball_position.y = rl.GetMouseY()
if rl.IsMouseButtonPressed(rl.MOUSE_LEFT_BUTTON) then if rl.IsMouseButtonPressed(rl.MOUSE_BUTTON_LEFT) then
ball_color = rl.MAROON ball_color = rl.MAROON
elseif rl.IsMouseButtonPressed(rl.MOUSE_MIDDLE_BUTTON) then elseif rl.IsMouseButtonPressed(rl.MOUSE_BUTTON_MIDDLE) then
ball_color = rl.LIME ball_color = rl.LIME
elseif rl.IsMouseButtonPressed(rl.MOUSE_RIGHT_BUTTON) then elseif rl.IsMouseButtonPressed(rl.MOUSE_BUTTON_RIGHT) then
ball_color = rl.DARKBLUE ball_color = rl.DARKBLUE
end end

View File

@ -14,7 +14,7 @@ local exit_window = false
while not exit_window and not rl.WindowShouldClose() do while not exit_window and not rl.WindowShouldClose() do
mouse_pos = rl.GetMousePosition() mouse_pos = rl.GetMousePosition()
if rl.IsMouseButtonPressed(rl.MOUSE_LEFT_BUTTON) then if rl.IsMouseButtonPressed(rl.MOUSE_BUTTON_LEFT) then
if rl.CheckCollisionPointRec(mouse_pos, rl.new("Rectangle", 0, 0, width, 20)) then if rl.CheckCollisionPointRec(mouse_pos, rl.new("Rectangle", 0, 0, width, 20)) then
drag_window = true drag_window = true
pan_offset = rl.new("Vector2", mouse_pos) pan_offset = rl.new("Vector2", mouse_pos)
@ -24,7 +24,7 @@ while not exit_window and not rl.WindowShouldClose() do
if drag_window then if drag_window then
window_pos = window_pos + mouse_pos - pan_offset window_pos = window_pos + mouse_pos - pan_offset
if rl.IsMouseButtonReleased(rl.MOUSE_LEFT_BUTTON) then if rl.IsMouseButtonReleased(rl.MOUSE_BUTTON_RIGHT) then
drag_window = false drag_window = false
end end

View File

@ -20,13 +20,10 @@ local menu = lynx.menu ({
}) })
rl.SetConfigFlags(rl.FLAG_VSYNC_HINT) rl.SetConfigFlags(rl.FLAG_VSYNC_HINT)
--rl.SetTargetFPS(60)
rl.InitWindow(800, 450, "raylib [lua] example - lynx menu") rl.InitWindow(800, 450, "raylib [lua] example - lynx menu")
while not rl.WindowShouldClose() do while not rl.WindowShouldClose() do
rl.BeginDrawing() rl.BeginDrawing()
rl.ClearBackground(rl.BLACK) rl.ClearBackground(rl.BLACK)
local pos = rl.GetMousePosition() local pos = rl.GetMousePosition()
menu:input_mouse(pos.x, pos.y, 0) menu:input_mouse(pos.x, pos.y, 0)

View File

@ -37,9 +37,9 @@ while not rl.WindowShouldClose() do
needsReset = true needsReset = true
end end
if rl.IsMouseButtonPressed(rl.MOUSE_LEFT_BUTTON) then if rl.IsMouseButtonPressed(rl.MOUSE_BUTTON_LEFT) then
rl.CreatePhysicsBodyPolygon(rl.GetMousePosition(), rl.GetRandomValue(20, 80), rl.GetRandomValue(3, 8), 10); rl.CreatePhysicsBodyPolygon(rl.GetMousePosition(), rl.GetRandomValue(20, 80), rl.GetRandomValue(3, 8), 10);
elseif rl.IsMouseButtonPressed(rl.MOUSE_RIGHT_BUTTON) then elseif rl.IsMouseButtonPressed(rl.MOUSE_BUTTON_RIGHT) then
rl.CreatePhysicsBodyCircle(rl.GetMousePosition(), rl.GetRandomValue(10, 45), 10) rl.CreatePhysicsBodyCircle(rl.GetMousePosition(), rl.GetRandomValue(10, 45), 10)
end end

2
luajit

@ -1 +1 @@
Subproject commit 75ee3a6159f1831fa57992df3caf5a2c303c281a Subproject commit e4b4d9451402be704d5b47a359f640a29db4977f

2
raygui

@ -1 +1 @@
Subproject commit d77bd5f3ef3c973811c5ef3f387e983628611e99 Subproject commit e81fd89b6dcc97bf1cee7878e8c6cfcbca2583a7

2
raylib

@ -1 +1 @@
Subproject commit 4c1af4cc90913559e629c85470308b9e1a68f9a3 Subproject commit 9882796df04218403fda23e2adbab8f347f88270

View File

@ -104,21 +104,21 @@ ffi.cdef [[
int layout; int layout;
} NPatchInfo; } NPatchInfo;
typedef struct CharInfo { typedef struct GlyphInfo {
int value; int value;
int offsetX; int offsetX;
int offsetY; int offsetY;
int advanceX; int advanceX;
Image image; Image image;
} CharInfo; } GlyphInfo;
typedef struct Font { typedef struct Font {
int baseSize; int baseSize;
int charsCount; int glyphCount;
int charsPadding; int glyphPadding;
Texture2D texture; Texture2D texture;
Rectangle *recs; Rectangle *recs;
CharInfo *chars; GlyphInfo *glyphs;
} Font; } Font;
typedef Font SpriteFont; typedef Font SpriteFont;
@ -210,12 +210,12 @@ ffi.cdef [[
Vector3 direction; Vector3 direction;
} Ray; } Ray;
typedef struct RayHitInfo { typedef struct RayCollision {
bool hit; bool hit;
float distance; float distance;
Vector3 position; Vector3 point;
Vector3 normal; Vector3 normal;
} RayHitInfo; } RayCollision;
typedef struct BoundingBox { typedef struct BoundingBox {
Vector3 min; Vector3 min;
@ -223,7 +223,7 @@ ffi.cdef [[
} BoundingBox; } BoundingBox;
typedef struct Wave { typedef struct Wave {
unsigned int sampleCount; unsigned int frameCount;
unsigned int sampleRate; unsigned int sampleRate;
unsigned int sampleSize; unsigned int sampleSize;
unsigned int channels; unsigned int channels;
@ -241,12 +241,12 @@ ffi.cdef [[
typedef struct Sound { typedef struct Sound {
AudioStream stream; AudioStream stream;
unsigned int sampleCount; unsigned int frameCount;
} Sound; } Sound;
typedef struct Music { typedef struct Music {
AudioStream stream; AudioStream stream;
unsigned int sampleCount; unsigned int frameCount;
bool looping; bool looping;
int ctxType; int ctxType;
@ -350,6 +350,10 @@ ffi.cdef [[
KEY_X = 88, KEY_X = 88,
KEY_Y = 89, KEY_Y = 89,
KEY_Z = 90, KEY_Z = 90,
KEY_LEFT_BRACKET = 91,
KEY_BACKSLASH = 92,
KEY_RIGHT_BRACKET = 93,
KEY_GRAVE = 96,
KEY_SPACE = 32, KEY_SPACE = 32,
KEY_ESCAPE = 256, KEY_ESCAPE = 256,
KEY_ENTER = 257, KEY_ENTER = 257,
@ -391,10 +395,6 @@ ffi.cdef [[
KEY_RIGHT_ALT = 346, KEY_RIGHT_ALT = 346,
KEY_RIGHT_SUPER = 347, KEY_RIGHT_SUPER = 347,
KEY_KB_MENU = 348, KEY_KB_MENU = 348,
KEY_LEFT_BRACKET= 91,
KEY_BACKSLASH = 92,
KEY_RIGHT_BRACKET = 93,
KEY_GRAVE = 96,
KEY_KP_0 = 320, KEY_KP_0 = 320,
KEY_KP_1 = 321, KEY_KP_1 = 321,
KEY_KP_2 = 322, KEY_KP_2 = 322,
@ -420,9 +420,13 @@ ffi.cdef [[
} KeyboardKey; } KeyboardKey;
typedef enum { typedef enum {
MOUSE_LEFT_BUTTON = 0, MOUSE_BUTTON_LEFT = 0,
MOUSE_RIGHT_BUTTON = 1, MOUSE_BUTTON_RIGHT = 1,
MOUSE_MIDDLE_BUTTON = 2 MOUSE_BUTTON_MIDDLE = 2,
MOUSE_BUTTON_SIDE = 3,
MOUSE_BUTTON_EXTRA = 4,
MOUSE_BUTTON_FORWARD = 5,
MOUSE_BUTTON_BACK = 6
} MouseButton; } MouseButton;
typedef enum { typedef enum {
@ -472,16 +476,16 @@ ffi.cdef [[
typedef enum { typedef enum {
MATERIAL_MAP_ALBEDO = 0, MATERIAL_MAP_ALBEDO = 0,
MATERIAL_MAP_METALNESS = 1, MATERIAL_MAP_METALNESS,
MATERIAL_MAP_NORMAL = 2, MATERIAL_MAP_NORMAL,
MATERIAL_MAP_ROUGHNESS = 3, MATERIAL_MAP_ROUGHNESS,
MATERIAL_MAP_OCCLUSION, MATERIAL_MAP_OCCLUSION,
MATERIAL_MAP_EMISSION, MATERIAL_MAP_EMISSION,
MATERIAL_MAP_HEIGHT, MATERIAL_MAP_HEIGHT,
MATERIAL_MAP_BRDG,
MATERIAL_MAP_CUBEMAP, MATERIAL_MAP_CUBEMAP,
MATERIAL_MAP_IRRADIANCE, MATERIAL_MAP_IRRADIANCE,
MATERIAL_MAP_PREFILTER MATERIAL_MAP_PREFILTER,
MATERIAL_MAP_BRDF,
} MaterialMapIndex; } MaterialMapIndex;
typedef enum { typedef enum {
@ -492,10 +496,10 @@ ffi.cdef [[
SHADER_LOC_VERTEX_TANGENT, SHADER_LOC_VERTEX_TANGENT,
SHADER_LOC_VERTEX_COLOR, SHADER_LOC_VERTEX_COLOR,
SHADER_LOC_MATRIX_MVP, SHADER_LOC_MATRIX_MVP,
SHADER_LOC_MATRIX_MODEL,
SHADER_LOC_MATRIX_NORMAL,
SHADER_LOC_MATRIX_VIEW, SHADER_LOC_MATRIX_VIEW,
SHADER_LOC_MATRIX_PROJECTION, SHADER_LOC_MATRIX_PROJECTION,
SHADER_LOC_MATRIX_MODEL,
SHADER_LOC_MATRIX_NORMAL,
SHADER_LOC_VECTOR_VIEW, SHADER_LOC_VECTOR_VIEW,
SHADER_LOC_COLOR_DIFFUSE, SHADER_LOC_COLOR_DIFFUSE,
SHADER_LOC_COLOR_SPECULAR, SHADER_LOC_COLOR_SPECULAR,
@ -525,6 +529,13 @@ ffi.cdef [[
SHADER_UNIFORM_SAMPLER2D SHADER_UNIFORM_SAMPLER2D
} ShaderUniformDataType; } ShaderUniformDataType;
typedef enum {
SHADER_ATTRIB_FLOAT = 0,
SHADER_ATTRIB_VEC2,
SHADER_ATTRIB_VEC3,
SHADER_ATTRIB_VEC4
} ShaderAttributeDataType;
typedef enum { typedef enum {
PIXELFORMAT_UNCOMPRESSED_GRAYSCALE = 1, PIXELFORMAT_UNCOMPRESSED_GRAYSCALE = 1,
PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA, PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA,
@ -601,7 +612,7 @@ ffi.cdef [[
GESTURE_SWIPE_DOWN = 128, GESTURE_SWIPE_DOWN = 128,
GESTURE_PINCH_IN = 256, GESTURE_PINCH_IN = 256,
GESTURE_PINCH_OUT = 512 GESTURE_PINCH_OUT = 512
} Gestures; } Gesture;
typedef enum { typedef enum {
CAMERA_CUSTOM = 0, CAMERA_CUSTOM = 0,
@ -633,6 +644,107 @@ ffi.cdef [[
-- rlgl cdef -- rlgl cdef
ffi.cdef [[ ffi.cdef [[
typedef enum {
RL_LOG_ALL = 0,
RL_LOG_TRACE,
RL_LOG_DEBUG,
RL_LOG_INFO,
RL_LOG_WARNING,
RL_LOG_ERROR,
RL_LOG_FATAL,
RL_LOG_NONE
} rlTraceLogLevel;
typedef enum {
RL_PIXELFORMAT_UNCOMPRESSED_GRAYSCALE = 1,
RL_PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA,
RL_PIXELFORMAT_UNCOMPRESSED_R5G6B5,
RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8,
RL_PIXELFORMAT_UNCOMPRESSED_R5G5B5A1,
RL_PIXELFORMAT_UNCOMPRESSED_R4G4B4A4,
RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8,
RL_PIXELFORMAT_UNCOMPRESSED_R32,
RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32,
RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32A32,
RL_PIXELFORMAT_COMPRESSED_DXT1_RGB,
RL_PIXELFORMAT_COMPRESSED_DXT1_RGBA,
RL_PIXELFORMAT_COMPRESSED_DXT3_RGBA,
RL_PIXELFORMAT_COMPRESSED_DXT5_RGBA,
RL_PIXELFORMAT_COMPRESSED_ETC1_RGB,
RL_PIXELFORMAT_COMPRESSED_ETC2_RGB,
RL_PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA,
RL_PIXELFORMAT_COMPRESSED_PVRT_RGB,
RL_PIXELFORMAT_COMPRESSED_PVRT_RGBA,
RL_PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA,
RL_PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA
} rlPixelFormat;
typedef enum {
RL_TEXTURE_FILTER_POINT = 0,
RL_TEXTURE_FILTER_BILINEAR,
RL_TEXTURE_FILTER_TRILINEAR,
RL_TEXTURE_FILTER_ANISOTROPIC_4X,
RL_TEXTURE_FILTER_ANISOTROPIC_8X,
RL_TEXTURE_FILTER_ANISOTROPIC_16X,
} rlTextureFilter;
typedef enum {
RL_BLEND_ALPHA = 0,
RL_BLEND_ADDITIVE,
RL_BLEND_MULTIPLIED,
RL_BLEND_ADD_COLORS,
RL_BLEND_SUBTRACT_COLORS,
RL_BLEND_CUSTOM
} rlBlendMode;
typedef enum {
RL_SHADER_LOC_VERTEX_POSITION = 0,
RL_SHADER_LOC_VERTEX_TEXCOORD01,
RL_SHADER_LOC_VERTEX_TEXCOORD02,
RL_SHADER_LOC_VERTEX_NORMAL,
RL_SHADER_LOC_VERTEX_TANGENT,
RL_SHADER_LOC_VERTEX_COLOR,
RL_SHADER_LOC_MATRIX_MVP,
RL_SHADER_LOC_MATRIX_VIEW,
RL_SHADER_LOC_MATRIX_PROJECTION,
RL_SHADER_LOC_MATRIX_MODEL,
RL_SHADER_LOC_MATRIX_NORMAL,
RL_SHADER_LOC_VECTOR_VIEW,
RL_SHADER_LOC_COLOR_DIFFUSE,
RL_SHADER_LOC_COLOR_SPECULAR,
RL_SHADER_LOC_COLOR_AMBIENT,
RL_SHADER_LOC_MAP_ALBEDO,
RL_SHADER_LOC_MAP_METALNESS,
RL_SHADER_LOC_MAP_NORMAL,
RL_SHADER_LOC_MAP_ROUGHNESS,
RL_SHADER_LOC_MAP_OCCLUSION,
RL_SHADER_LOC_MAP_EMISSION,
RL_SHADER_LOC_MAP_HEIGHT,
RL_SHADER_LOC_MAP_CUBEMAP,
RL_SHADER_LOC_MAP_IRRADIANCE,
RL_SHADER_LOC_MAP_PREFILTER,
RL_SHADER_LOC_MAP_BRDF
} rlShaderLocationIndex;
typedef enum {
RL_SHADER_UNIFORM_FLOAT = 0,
RL_SHADER_UNIFORM_VEC2,
RL_SHADER_UNIFORM_VEC3,
RL_SHADER_UNIFORM_VEC4,
RL_SHADER_UNIFORM_INT,
RL_SHADER_UNIFORM_IVEC2,
RL_SHADER_UNIFORM_IVEC3,
RL_SHADER_UNIFORM_IVEC4,
RL_SHADER_UNIFORM_SAMPLER2D
} rlShaderUniformDataType;
typedef enum {
RL_SHADER_ATTRIB_FLOAT = 0,
RL_SHADER_ATTRIB_VEC2,
RL_SHADER_ATTRIB_VEC3,
RL_SHADER_ATTRIB_VEC4
} rlShaderAttributeDataType;
typedef enum { typedef enum {
RL_ATTACHMENT_COLOR_CHANNEL0 = 0, RL_ATTACHMENT_COLOR_CHANNEL0 = 0,
RL_ATTACHMENT_COLOR_CHANNEL1, RL_ATTACHMENT_COLOR_CHANNEL1,
@ -644,7 +756,7 @@ ffi.cdef [[
RL_ATTACHMENT_COLOR_CHANNEL7, RL_ATTACHMENT_COLOR_CHANNEL7,
RL_ATTACHMENT_DEPTH = 100, RL_ATTACHMENT_DEPTH = 100,
RL_ATTACHMENT_STENCIL = 200, RL_ATTACHMENT_STENCIL = 200,
} FramebufferAttachType; } rlFramebufferAttachType;
typedef enum { typedef enum {
RL_ATTACHMENT_CUBEMAP_POSITIVE_X = 0, RL_ATTACHMENT_CUBEMAP_POSITIVE_X = 0,
@ -655,11 +767,11 @@ ffi.cdef [[
RL_ATTACHMENT_CUBEMAP_NEGATIVE_Z, RL_ATTACHMENT_CUBEMAP_NEGATIVE_Z,
RL_ATTACHMENT_TEXTURE2D = 100, RL_ATTACHMENT_TEXTURE2D = 100,
RL_ATTACHMENT_RENDERBUFFER = 200, RL_ATTACHMENT_RENDERBUFFER = 200,
} FramebufferTexType; } rlFramebufferAttachTextureType;
/* NOTE: Assumes non-ES OpenGL. */ /* NOTE: Assumes non-ES OpenGL. */
typedef struct VertexBuffer { typedef struct rlVertexBuffer {
int elementsCount; int elementCount;
int vCounter; int vCounter;
int tcCounter; int tcCounter;
@ -672,9 +784,9 @@ ffi.cdef [[
unsigned int vaoId; unsigned int vaoId;
unsigned int vboId[4]; unsigned int vboId[4];
} VertexBuffer; } rlVertexBuffer;
typedef struct DrawCall { typedef struct rlDrawCall {
int mode; int mode;
int vertexCount; int vertexCount;
int vertexAlignment; int vertexAlignment;
@ -684,24 +796,17 @@ ffi.cdef [[
//Matrix projection; //Matrix projection;
//Matrix modelview; //Matrix modelview;
} DrawCall; } rlDrawCall;
typedef struct RenderBatch { typedef struct rlRenderBatch {
int buffersCount; int bufferCount;
int currentBuffer; int currentBuffer;
VertexBuffer *vertexBuffer; rlVertexBuffer *vertexBuffer;
DrawCall *draws; rlDrawCall *draws;
int drawsCounter; int drawCounter;
float currentDepth; float currentDepth;
} RenderBatch; } rlRenderBatch;
typedef enum {
SHADER_ATTRIB_FLOAT = 0,
SHADER_ATTRIB_VEC2,
SHADER_ATTRIB_VEC3,
SHADER_ATTRIB_VEC4
} ShaderAttributeDataType;
]] ]]
-- Physac cdef -- Physac cdef
@ -768,13 +873,18 @@ ffi.cdef [[
-- gestures cdef -- gestures cdef
ffi.cdef [[ ffi.cdef [[
typedef enum { TOUCH_UP, TOUCH_DOWN, TOUCH_MOVE } TouchAction; typedef enum {
TOUCH_ACTION_UP = 0,
TOUCH_ACTION_DOWN,
TOUCH_ACTION_MOVE,
TOUCH_ACTION_CANCEL
} TouchAction;
typedef struct { typedef struct {
int touchAction; int touchAction;
int pointCount; int pointCount;
int pointerId[4]; int pointerId[8]; // CONST
Vector2 position[4]; Vector2 position[8]; // CONST
} GestureEvent; } GestureEvent;
]] ]]
@ -918,6 +1028,265 @@ ffi.cdef [[
int index; int index;
int select; int select;
} GuiTextBoxState; } GuiTextBoxState;
typedef enum {
RICON_NONE = 0,
RICON_FOLDER_FILE_OPEN = 1,
RICON_FILE_SAVE_CLASSIC = 2,
RICON_FOLDER_OPEN = 3,
RICON_FOLDER_SAVE = 4,
RICON_FILE_OPEN = 5,
RICON_FILE_SAVE = 6,
RICON_FILE_EXPORT = 7,
RICON_FILE_NEW = 8,
RICON_FILE_DELETE = 9,
RICON_FILETYPE_TEXT = 10,
RICON_FILETYPE_AUDIO = 11,
RICON_FILETYPE_IMAGE = 12,
RICON_FILETYPE_PLAY = 13,
RICON_FILETYPE_VIDEO = 14,
RICON_FILETYPE_INFO = 15,
RICON_FILE_COPY = 16,
RICON_FILE_CUT = 17,
RICON_FILE_PASTE = 18,
RICON_CURSOR_HAND = 19,
RICON_CURSOR_POINTER = 20,
RICON_CURSOR_CLASSIC = 21,
RICON_PENCIL = 22,
RICON_PENCIL_BIG = 23,
RICON_BRUSH_CLASSIC = 24,
RICON_BRUSH_PAINTER = 25,
RICON_WATER_DROP = 26,
RICON_COLOR_PICKER = 27,
RICON_RUBBER = 28,
RICON_COLOR_BUCKET = 29,
RICON_TEXT_T = 30,
RICON_TEXT_A = 31,
RICON_SCALE = 32,
RICON_RESIZE = 33,
RICON_FILTER_POINT = 34,
RICON_FILTER_BILINEAR = 35,
RICON_CROP = 36,
RICON_CROP_ALPHA = 37,
RICON_SQUARE_TOGGLE = 38,
RICON_SYMMETRY = 39,
RICON_SYMMETRY_HORIZONTAL = 40,
RICON_SYMMETRY_VERTICAL = 41,
RICON_LENS = 42,
RICON_LENS_BIG = 43,
RICON_EYE_ON = 44,
RICON_EYE_OFF = 45,
RICON_FILTER_TOP = 46,
RICON_FILTER = 47,
RICON_TARGET_POINT = 48,
RICON_TARGET_SMALL = 49,
RICON_TARGET_BIG = 50,
RICON_TARGET_MOVE = 51,
RICON_CURSOR_MOVE = 52,
RICON_CURSOR_SCALE = 53,
RICON_CURSOR_SCALE_RIGHT = 54,
RICON_CURSOR_SCALE_LEFT = 55,
RICON_UNDO = 56,
RICON_REDO = 57,
RICON_REREDO = 58,
RICON_MUTATE = 59,
RICON_ROTATE = 60,
RICON_REPEAT = 61,
RICON_SHUFFLE = 62,
RICON_EMPTYBOX = 63,
RICON_TARGET = 64,
RICON_TARGET_SMALL_FILL = 65,
RICON_TARGET_BIG_FILL = 66,
RICON_TARGET_MOVE_FILL = 67,
RICON_CURSOR_MOVE_FILL = 68,
RICON_CURSOR_SCALE_FILL = 69,
RICON_CURSOR_SCALE_RIGHT_FILL = 70,
RICON_CURSOR_SCALE_LEFT_FILL = 71,
RICON_UNDO_FILL = 72,
RICON_REDO_FILL = 73,
RICON_REREDO_FILL = 74,
RICON_MUTATE_FILL = 75,
RICON_ROTATE_FILL = 76,
RICON_REPEAT_FILL = 77,
RICON_SHUFFLE_FILL = 78,
RICON_EMPTYBOX_SMALL = 79,
RICON_BOX = 80,
RICON_BOX_TOP = 81,
RICON_BOX_TOP_RIGHT = 82,
RICON_BOX_RIGHT = 83,
RICON_BOX_BOTTOM_RIGHT = 84,
RICON_BOX_BOTTOM = 85,
RICON_BOX_BOTTOM_LEFT = 86,
RICON_BOX_LEFT = 87,
RICON_BOX_TOP_LEFT = 88,
RICON_BOX_CENTER = 89,
RICON_BOX_CIRCLE_MASK = 90,
RICON_POT = 91,
RICON_ALPHA_MULTIPLY = 92,
RICON_ALPHA_CLEAR = 93,
RICON_DITHERING = 94,
RICON_MIPMAPS = 95,
RICON_BOX_GRID = 96,
RICON_GRID = 97,
RICON_BOX_CORNERS_SMALL = 98,
RICON_BOX_CORNERS_BIG = 99,
RICON_FOUR_BOXES = 100,
RICON_GRID_FILL = 101,
RICON_BOX_MULTISIZE = 102,
RICON_ZOOM_SMALL = 103,
RICON_ZOOM_MEDIUM = 104,
RICON_ZOOM_BIG = 105,
RICON_ZOOM_ALL = 106,
RICON_ZOOM_CENTER = 107,
RICON_BOX_DOTS_SMALL = 108,
RICON_BOX_DOTS_BIG = 109,
RICON_BOX_CONCENTRIC = 110,
RICON_BOX_GRID_BIG = 111,
RICON_OK_TICK = 112,
RICON_CROSS = 113,
RICON_ARROW_LEFT = 114,
RICON_ARROW_RIGHT = 115,
RICON_ARROW_BOTTOM = 116,
RICON_ARROW_TOP = 117,
RICON_ARROW_LEFT_FILL = 118,
RICON_ARROW_RIGHT_FILL = 119,
RICON_ARROW_BOTTOM_FILL = 120,
RICON_ARROW_TOP_FILL = 121,
RICON_AUDIO = 122,
RICON_FX = 123,
RICON_WAVE = 124,
RICON_WAVE_SINUS = 125,
RICON_WAVE_SQUARE = 126,
RICON_WAVE_TRIANGULAR = 127,
RICON_CROSS_SMALL = 128,
RICON_PLAYER_PREVIOUS = 129,
RICON_PLAYER_PLAY_BACK = 130,
RICON_PLAYER_PLAY = 131,
RICON_PLAYER_PAUSE = 132,
RICON_PLAYER_STOP = 133,
RICON_PLAYER_NEXT = 134,
RICON_PLAYER_RECORD = 135,
RICON_MAGNET = 136,
RICON_LOCK_CLOSE = 137,
RICON_LOCK_OPEN = 138,
RICON_CLOCK = 139,
RICON_TOOLS = 140,
RICON_GEAR = 141,
RICON_GEAR_BIG = 142,
RICON_BIN = 143,
RICON_HAND_POINTER = 144,
RICON_LASER = 145,
RICON_COIN = 146,
RICON_EXPLOSION = 147,
RICON_1UP = 148,
RICON_PLAYER = 149,
RICON_PLAYER_JUMP = 150,
RICON_KEY = 151,
RICON_DEMON = 152,
RICON_TEXT_POPUP = 153,
RICON_GEAR_EX = 154,
RICON_CRACK = 155,
RICON_CRACK_POINTS = 156,
RICON_STAR = 157,
RICON_DOOR = 158,
RICON_EXIT = 159,
RICON_MODE_2D = 160,
RICON_MODE_3D = 161,
RICON_CUBE = 162,
RICON_CUBE_FACE_TOP = 163,
RICON_CUBE_FACE_LEFT = 164,
RICON_CUBE_FACE_FRONT = 165,
RICON_CUBE_FACE_BOTTOM = 166,
RICON_CUBE_FACE_RIGHT = 167,
RICON_CUBE_FACE_BACK = 168,
RICON_CAMERA = 169,
RICON_SPECIAL = 170,
RICON_LINK_NET = 171,
RICON_LINK_BOXES = 172,
RICON_LINK_MULTI = 173,
RICON_LINK = 174,
RICON_LINK_BROKE = 175,
RICON_TEXT_NOTES = 176,
RICON_NOTEBOOK = 177,
RICON_SUITCASE = 178,
RICON_SUITCASE_ZIP = 179,
RICON_MAILBOX = 180,
RICON_MONITOR = 181,
RICON_PRINTER = 182,
RICON_PHOTO_CAMERA = 183,
RICON_PHOTO_CAMERA_FLASH = 184,
RICON_HOUSE = 185,
RICON_HEART = 186,
RICON_CORNER = 187,
RICON_VERTICAL_BARS = 188,
RICON_VERTICAL_BARS_FILL = 189,
RICON_LIFE_BARS = 190,
RICON_INFO = 191,
RICON_CROSSLINE = 192,
RICON_HELP = 193,
RICON_FILETYPE_ALPHA = 194,
RICON_FILETYPE_HOME = 195,
RICON_LAYERS_VISIBLE = 196,
RICON_LAYERS = 197,
RICON_WINDOW = 198,
RICON_HIDPI = 199,
RICON_200 = 200,
RICON_201 = 201,
RICON_202 = 202,
RICON_203 = 203,
RICON_204 = 204,
RICON_205 = 205,
RICON_206 = 206,
RICON_207 = 207,
RICON_208 = 208,
RICON_209 = 209,
RICON_210 = 210,
RICON_211 = 211,
RICON_212 = 212,
RICON_213 = 213,
RICON_214 = 214,
RICON_215 = 215,
RICON_216 = 216,
RICON_217 = 217,
RICON_218 = 218,
RICON_219 = 219,
RICON_220 = 220,
RICON_221 = 221,
RICON_222 = 222,
RICON_223 = 223,
RICON_224 = 224,
RICON_225 = 225,
RICON_226 = 226,
RICON_227 = 227,
RICON_228 = 228,
RICON_229 = 229,
RICON_230 = 230,
RICON_231 = 231,
RICON_232 = 232,
RICON_233 = 233,
RICON_234 = 234,
RICON_235 = 235,
RICON_236 = 236,
RICON_237 = 237,
RICON_238 = 238,
RICON_239 = 239,
RICON_240 = 240,
RICON_241 = 241,
RICON_242 = 242,
RICON_243 = 243,
RICON_244 = 244,
RICON_245 = 245,
RICON_246 = 246,
RICON_247 = 247,
RICON_248 = 248,
RICON_249 = 249,
RICON_250 = 250,
RICON_251 = 251,
RICON_252 = 252,
RICON_253 = 253,
RICON_254 = 254,
RICON_255 = 255,
} guiIconName;
]] ]]
-- Load bind entry -- Load bind entry

View File

@ -24,16 +24,16 @@
#include <rlgl.h> #include <rlgl.h>
#include <raymath.h> #include <raymath.h>
#include <easings.h> #include <extras/easings.h>
#include <gestures.h> #include <rgestures.h>
#define RAYGUI_SUPPORT_ICONS #define RAYGUI_SUPPORT_RICONS
#define RAYGUI_IMPLEMENTATION #define RAYGUI_IMPLEMENTATION
#define RAYGUI_STATIC #define RAYGUI_STATIC
#include <raygui.h> #include <raygui.h>
#define PHYSAC_IMPLEMENTATION #define PHYSAC_IMPLEMENTATION
#include <physac.h> #include <extras/physac.h>
#include "autogen/bind.c" #include "autogen/bind.c"
#include "autogen/boot.c" #include "autogen/boot.c"
@ -65,6 +65,10 @@ void raylua_boot(lua_State *L, lua_CFunction loadfile, lua_CFunction listfiles,
lua_pushboolean(L, repl); lua_pushboolean(L, repl);
lua_settable(L, -3); lua_settable(L, -3);
lua_pushstring(L, "raylib_version");
lua_pushstring(L, RAYLIB_VERSION);
lua_settable(L, -3);
lua_setglobal(L, "raylua"); lua_setglobal(L, "raylua");
if (luaL_dostring(L, raylua_boot_lua)) { if (luaL_dostring(L, raylua_boot_lua)) {

View File

@ -16,7 +16,7 @@
local load = loadstring local load = loadstring
raylua.version = "v3.7a" raylua.version = "v4.0-dev"
function raylua.repl() function raylua.repl()
print("> raylua " .. raylua.version .. " <") print("> raylua " .. raylua.version .. " <")

View File

@ -37,6 +37,9 @@ Vector2 GetWindowScaleDPI(void)
const char *GetMonitorName(int monitor) const char *GetMonitorName(int monitor)
void SetClipboardText(const char *text) void SetClipboardText(const char *text)
const char *GetClipboardText(void) const char *GetClipboardText(void)
void SwapScreenBuffer(void)
void PollInputEvents(void)
void WaitTime(float ms)
void ShowCursor(void) void ShowCursor(void)
void HideCursor(void) void HideCursor(void)
bool IsCursorHidden(void) bool IsCursorHidden(void)
@ -83,6 +86,7 @@ int GetFPS(void)
float GetFrameTime(void) float GetFrameTime(void)
double GetTime(void) double GetTime(void)
int GetRandomValue(int min, int max) int GetRandomValue(int min, int max)
void SetRandomSeed(unsigned int seed)
void TakeScreenshot(const char *fileName) void TakeScreenshot(const char *fileName)
void SetConfigFlags(unsigned int flags) void SetConfigFlags(unsigned int flags)
void TraceLog(int logLevel, const char *text, ...) void TraceLog(int logLevel, const char *text, ...)
@ -95,7 +99,7 @@ unsigned char *LoadFileData(const char *fileName, unsigned int *bytesRead)
void UnloadFileData(unsigned char *data) void UnloadFileData(unsigned char *data)
bool SaveFileData(const char *fileName, void *data, unsigned int bytesToWrite) bool SaveFileData(const char *fileName, void *data, unsigned int bytesToWrite)
char *LoadFileText(const char *fileName) char *LoadFileText(const char *fileName)
void UnloadFileText(unsigned char *text) void UnloadFileText(char *text)
bool SaveFileText(const char *fileName, char *text) bool SaveFileText(const char *fileName, char *text)
bool FileExists(const char *fileName) bool FileExists(const char *fileName)
bool DirectoryExists(const char *dirPath) bool DirectoryExists(const char *dirPath)
@ -143,6 +147,7 @@ bool IsMouseButtonUp(int button)
int GetMouseX(void) int GetMouseX(void)
int GetMouseY(void) int GetMouseY(void)
Vector2 GetMousePosition(void) Vector2 GetMousePosition(void)
Vector2 GetMouseDelta(void)
void SetMousePosition(int x, int y) void SetMousePosition(int x, int y)
void SetMouseOffset(int offsetX, int offsetY) void SetMouseOffset(int offsetX, int offsetY)
void SetMouseScale(float scaleX, float scaleY) void SetMouseScale(float scaleX, float scaleY)
@ -151,10 +156,11 @@ void SetMouseCursor(int cursor)
int GetTouchX(void) int GetTouchX(void)
int GetTouchY(void) int GetTouchY(void)
Vector2 GetTouchPosition(int index) Vector2 GetTouchPosition(int index)
int GetTouchPointId(int index)
int GetTouchPointCount(void)
void SetGesturesEnabled(unsigned int flags) void SetGesturesEnabled(unsigned int flags)
bool IsGestureDetected(int gesture) bool IsGestureDetected(int gesture)
int GetGestureDetected(void) int GetGestureDetected(void)
int GetTouchPointsCount(void)
float GetGestureHoldDuration(void) float GetGestureHoldDuration(void)
Vector2 GetGestureDragVector(void) Vector2 GetGestureDragVector(void)
float GetGestureDragAngle(void) float GetGestureDragAngle(void)
@ -174,7 +180,7 @@ void DrawLineV(Vector2 startPos, Vector2 endPos, Color color)
void DrawLineEx(Vector2 startPos, Vector2 endPos, float thick, Color color) void DrawLineEx(Vector2 startPos, Vector2 endPos, float thick, Color color)
void DrawLineBezier(Vector2 startPos, Vector2 endPos, float thick, Color color) void DrawLineBezier(Vector2 startPos, Vector2 endPos, float thick, Color color)
void DrawLineBezierQuad(Vector2 startPos, Vector2 endPos, Vector2 controlPos, float thick, Color color) void DrawLineBezierQuad(Vector2 startPos, Vector2 endPos, Vector2 controlPos, float thick, Color color)
void DrawLineStrip(Vector2 *points, int pointsCount, Color color) void DrawLineStrip(Vector2 *points, int pointCount, Color color)
void DrawCircle(int centerX, int centerY, float radius, Color color) void DrawCircle(int centerX, int centerY, float radius, Color color)
void DrawCircleSector(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color) void DrawCircleSector(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color)
void DrawCircleSectorLines(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color) void DrawCircleSectorLines(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color)
@ -193,15 +199,16 @@ void DrawRectangleGradientV(int posX, int posY, int width, int height, Color col
void DrawRectangleGradientH(int posX, int posY, int width, int height, Color color1, Color color2) void DrawRectangleGradientH(int posX, int posY, int width, int height, Color color1, Color color2)
void DrawRectangleGradientEx(Rectangle rec, Color col1, Color col2, Color col3, Color col4) void DrawRectangleGradientEx(Rectangle rec, Color col1, Color col2, Color col3, Color col4)
void DrawRectangleLines(int posX, int posY, int width, int height, Color color) void DrawRectangleLines(int posX, int posY, int width, int height, Color color)
void DrawRectangleLinesEx(Rectangle rec, int lineThick, Color color) void DrawRectangleLinesEx(Rectangle rec, float lineThick, Color color)
void DrawRectangleRounded(Rectangle rec, float roundness, int segments, Color color) void DrawRectangleRounded(Rectangle rec, float roundness, int segments, Color color)
void DrawRectangleRoundedLines(Rectangle rec, float roundness, int segments, int lineThick, Color color) void DrawRectangleRoundedLines(Rectangle rec, float roundness, int segments, float lineThick, Color color)
void DrawTriangle(Vector2 v1, Vector2 v2, Vector2 v3, Color color) void DrawTriangle(Vector2 v1, Vector2 v2, Vector2 v3, Color color)
void DrawTriangleLines(Vector2 v1, Vector2 v2, Vector2 v3, Color color) void DrawTriangleLines(Vector2 v1, Vector2 v2, Vector2 v3, Color color)
void DrawTriangleFan(Vector2 *points, int pointsCount, Color color) void DrawTriangleFan(Vector2 *points, int pointCount, Color color)
void DrawTriangleStrip(Vector2 *points, int pointsCount, Color color) void DrawTriangleStrip(Vector2 *points, int pointCount, Color color)
void DrawPoly(Vector2 center, int sides, float radius, float rotation, Color color) void DrawPoly(Vector2 center, int sides, float radius, float rotation, Color color)
void DrawPolyLines(Vector2 center, int sides, float radius, float rotation, Color color) void DrawPolyLines(Vector2 center, int sides, float radius, float rotation, Color color)
void DrawPolyLinesEx(Vector2 center, int sides, float radius, float rotation, float lineThick, Color color)
bool CheckCollisionRecs(Rectangle rec1, Rectangle rec2) bool CheckCollisionRecs(Rectangle rec1, Rectangle rec2)
bool CheckCollisionCircles(Vector2 center1, float radius1, Vector2 center2, float radius2) bool CheckCollisionCircles(Vector2 center1, float radius1, Vector2 center2, float radius2)
bool CheckCollisionCircleRec(Vector2 center, float radius, Rectangle rec) bool CheckCollisionCircleRec(Vector2 center, float radius, Rectangle rec)
@ -214,6 +221,8 @@ Image LoadImage(const char *fileName)
Image LoadImageRaw(const char *fileName, int width, int height, int format, int headerSize) Image LoadImageRaw(const char *fileName, int width, int height, int format, int headerSize)
Image LoadImageAnim(const char *fileName, int *frames) Image LoadImageAnim(const char *fileName, int *frames)
Image LoadImageFromMemory(const char *fileType, const unsigned char *fileData, int dataSize) Image LoadImageFromMemory(const char *fileType, const unsigned char *fileData, int dataSize)
Image LoadImageFromTexture(Texture2D texture)
Image LoadImageFromScreen(void)
void UnloadImage(Image image) void UnloadImage(Image image)
bool ExportImage(Image image, const char *fileName) bool ExportImage(Image image, const char *fileName)
bool ExportImageAsCode(Image image, const char *fileName) bool ExportImageAsCode(Image image, const char *fileName)
@ -252,7 +261,7 @@ void ImageColorContrast(Image *image, float contrast)
void ImageColorBrightness(Image *image, int brightness) void ImageColorBrightness(Image *image, int brightness)
void ImageColorReplace(Image *image, Color color, Color replace) void ImageColorReplace(Image *image, Color color, Color replace)
Color *LoadImageColors(Image image) Color *LoadImageColors(Image image)
Color *LoadImagePalette(Image image, int maxPaletteSize, int *colorsCount) Color *LoadImagePalette(Image image, int maxPaletteSize, int *colorCount)
void UnloadImageColors(Color *colors) void UnloadImageColors(Color *colors)
void UnloadImagePalette(Color *colors) void UnloadImagePalette(Color *colors)
Rectangle GetImageAlphaBorder(Image image, float threshold) Rectangle GetImageAlphaBorder(Image image, float threshold)
@ -278,8 +287,6 @@ void UnloadTexture(Texture2D texture)
void UnloadRenderTexture(RenderTexture2D target) void UnloadRenderTexture(RenderTexture2D target)
void UpdateTexture(Texture2D texture, const void *pixels) void UpdateTexture(Texture2D texture, const void *pixels)
void UpdateTextureRec(Texture2D texture, Rectangle rec, const void *pixels) void UpdateTextureRec(Texture2D texture, Rectangle rec, const void *pixels)
Image GetTextureData(Texture2D texture)
Image GetScreenData(void)
void GenTextureMipmaps(Texture2D *texture) void GenTextureMipmaps(Texture2D *texture)
void SetTextureFilter(Texture2D texture, int filter) void SetTextureFilter(Texture2D texture, int filter)
void SetTextureWrap(Texture2D texture, int wrap) void SetTextureWrap(Texture2D texture, int wrap)
@ -291,7 +298,7 @@ void DrawTextureQuad(Texture2D texture, Vector2 tiling, Vector2 offset, Rectangl
void DrawTextureTiled(Texture2D texture, Rectangle source, Rectangle dest, Vector2 origin, float rotation, float scale, Color tint) void DrawTextureTiled(Texture2D texture, Rectangle source, Rectangle dest, Vector2 origin, float rotation, float scale, Color tint)
void DrawTexturePro(Texture2D texture, Rectangle source, Rectangle dest, Vector2 origin, float rotation, Color tint) void DrawTexturePro(Texture2D texture, Rectangle source, Rectangle dest, Vector2 origin, float rotation, Color tint)
void DrawTextureNPatch(Texture2D texture, NPatchInfo nPatchInfo, Rectangle dest, Vector2 origin, float rotation, Color tint) void DrawTextureNPatch(Texture2D texture, NPatchInfo nPatchInfo, Rectangle dest, Vector2 origin, float rotation, Color tint)
void DrawTexturePoly(Texture2D texture, Vector2 center, Vector2 *points, Vector2 *texcoords, int pointsCount, Color tint) void DrawTexturePoly(Texture2D texture, Vector2 center, Vector2 *points, Vector2 *texcoords, int pointCount, Color tint)
Color Fade(Color color, float alpha) Color Fade(Color color, float alpha)
int ColorToInt(Color color) int ColorToInt(Color color)
Vector4 ColorNormalize(Color color) Vector4 ColorNormalize(Color color)
@ -306,22 +313,29 @@ void SetPixelColor(void *dstPtr, Color color, int format)
int GetPixelDataSize(int width, int height, int format) int GetPixelDataSize(int width, int height, int format)
Font GetFontDefault(void) Font GetFontDefault(void)
Font LoadFont(const char *fileName) Font LoadFont(const char *fileName)
Font LoadFontEx(const char *fileName, int fontSize, int *fontChars, int charsCount) Font LoadFontEx(const char *fileName, int fontSize, int *fontChars, int glyphCount)
Font LoadFontFromImage(Image image, Color key, int firstChar) Font LoadFontFromImage(Image image, Color key, int firstChar)
Font LoadFontFromMemory(const char *fileType, const unsigned char *fileData, int dataSize, int fontSize, int *fontChars, int charsCount) Font LoadFontFromMemory(const char *fileType, const unsigned char *fileData, int dataSize, int fontSize, int *fontChars, int glyphCount)
CharInfo *LoadFontData(const unsigned char *fileData, int dataSize, int fontSize, int *fontChars, int charsCount, int type) GlyphInfo *LoadFontData(const unsigned char *fileData, int dataSize, int fontSize, int *fontChars, int glyphCount, int type)
Image GenImageFontAtlas(const CharInfo *chars, Rectangle **recs, int charsCount, int fontSize, int padding, int packMethod) Image GenImageFontAtlas(const GlyphInfo *chars, Rectangle **recs, int glyphCount, int fontSize, int padding, int packMethod)
void UnloadFontData(CharInfo *chars, int charsCount) void UnloadFontData(GlyphInfo *chars, int glyphCount)
void UnloadFont(Font font) void UnloadFont(Font font)
void DrawFPS(int posX, int posY) void DrawFPS(int posX, int posY)
void DrawText(const char *text, int posX, int posY, int fontSize, Color color) void DrawText(const char *text, int posX, int posY, int fontSize, Color color)
void DrawTextEx(Font font, const char *text, Vector2 position, float fontSize, float spacing, Color tint) void DrawTextEx(Font font, const char *text, Vector2 position, float fontSize, float spacing, Color tint)
void DrawTextRec(Font font, const char *text, Rectangle rec, float fontSize, float spacing, bool wordWrap, Color tint) void DrawTextPro(Font font, const char *text, Vector2 position, Vector2 origin, float rotation, float fontSize, float spacing, Color tint)
void DrawTextRecEx(Font font, const char *text, Rectangle rec, float fontSize, float spacing, bool wordWrap, Color tint, int selectStart, int selectLength, Color selectTint, Color selectBackTint)
void DrawTextCodepoint(Font font, int codepoint, Vector2 position, float fontSize, Color tint) void DrawTextCodepoint(Font font, int codepoint, Vector2 position, float fontSize, Color tint)
int MeasureText(const char *text, int fontSize) int MeasureText(const char *text, int fontSize)
Vector2 MeasureTextEx(Font font, const char *text, float fontSize, float spacing) Vector2 MeasureTextEx(Font font, const char *text, float fontSize, float spacing)
int GetGlyphIndex(Font font, int codepoint) int GetGlyphIndex(Font font, int codepoint)
GlyphInfo GetGlyphInfo(Font font, int codepoint)
Rectangle GetGlyphAtlasRec(Font font, int codepoint)
int *LoadCodepoints(const char *text, int *count)
void UnloadCodepoints(int *codepoints)
int GetCodepointCount(const char *text)
int GetCodepoint(const char *text, int *bytesProcessed)
const char *CodepointToUTF8(int codepoint, int *byteSize)
char *TextCodepointsToUTF8(int *codepoints, int length)
int TextCopy(char *dst, const char *src) int TextCopy(char *dst, const char *src)
bool TextIsEqual(const char *text1, const char *text2) bool TextIsEqual(const char *text1, const char *text2)
unsigned int TextLength(const char *text) unsigned int TextLength(const char *text)
@ -337,21 +351,17 @@ const char *TextToUpper(const char *text)
const char *TextToLower(const char *text) const char *TextToLower(const char *text)
const char *TextToPascal(const char *text) const char *TextToPascal(const char *text)
int TextToInteger(const char *text) int TextToInteger(const char *text)
char *TextToUtf8(int *codepoints, int length)
int *GetCodepoints(const char *text, int *count)
int GetCodepointsCount(const char *text)
int GetNextCodepoint(const char *text, int *bytesProcessed)
const char *CodepointToUtf8(int codepoint, int *byteLength)
void DrawLine3D(Vector3 startPos, Vector3 endPos, Color color) void DrawLine3D(Vector3 startPos, Vector3 endPos, Color color)
void DrawPoint3D(Vector3 position, Color color) void DrawPoint3D(Vector3 position, Color color)
void DrawCircle3D(Vector3 center, float radius, Vector3 rotationAxis, float rotationAngle, Color color) void DrawCircle3D(Vector3 center, float radius, Vector3 rotationAxis, float rotationAngle, Color color)
void DrawTriangle3D(Vector3 v1, Vector3 v2, Vector3 v3, Color color) void DrawTriangle3D(Vector3 v1, Vector3 v2, Vector3 v3, Color color)
void DrawTriangleStrip3D(Vector3 *points, int pointsCount, Color color) void DrawTriangleStrip3D(Vector3 *points, int pointCount, Color color)
void DrawCube(Vector3 position, float width, float height, float length, Color color) void DrawCube(Vector3 position, float width, float height, float length, Color color)
void DrawCubeV(Vector3 position, Vector3 size, Color color) void DrawCubeV(Vector3 position, Vector3 size, Color color)
void DrawCubeWires(Vector3 position, float width, float height, float length, Color color) void DrawCubeWires(Vector3 position, float width, float height, float length, Color color)
void DrawCubeWiresV(Vector3 position, Vector3 size, Color color) void DrawCubeWiresV(Vector3 position, Vector3 size, Color color)
void DrawCubeTexture(Texture2D texture, Vector3 position, float width, float height, float length, Color color) void DrawCubeTexture(Texture2D texture, Vector3 position, float width, float height, float length, Color color)
void DrawCubeTextureRec(Texture2D texture, Rectangle source, Vector3 position, float width, float height, float length, Color color)
void DrawSphere(Vector3 centerPos, float radius, Color color) void DrawSphere(Vector3 centerPos, float radius, Color color)
void DrawSphereEx(Vector3 centerPos, float radius, int rings, int slices, Color color) void DrawSphereEx(Vector3 centerPos, float radius, int rings, int slices, Color color)
void DrawSphereWires(Vector3 centerPos, float radius, int rings, int slices, Color color) void DrawSphereWires(Vector3 centerPos, float radius, int rings, int slices, Color color)
@ -364,52 +374,54 @@ Model LoadModel(const char *fileName)
Model LoadModelFromMesh(Mesh mesh) Model LoadModelFromMesh(Mesh mesh)
void UnloadModel(Model model) void UnloadModel(Model model)
void UnloadModelKeepMeshes(Model model) void UnloadModelKeepMeshes(Model model)
BoundingBox GetModelBoundingBox(Model model)
void DrawModel(Model model, Vector3 position, float scale, Color tint)
void DrawModelEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint)
void DrawModelWires(Model model, Vector3 position, float scale, Color tint)
void DrawModelWiresEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint)
void DrawBoundingBox(BoundingBox box, Color color)
void DrawBillboard(Camera camera, Texture2D texture, Vector3 position, float size, Color tint)
void DrawBillboardRec(Camera camera, Texture2D texture, Rectangle source, Vector3 position, Vector2 size, Color tint)
void DrawBillboardPro(Camera camera, Texture2D texture, Rectangle source, Vector3 position, Vector3 up, Vector2 size, Vector2 origin, float rotation, Color tint)
void UploadMesh(Mesh *mesh, bool dynamic) void UploadMesh(Mesh *mesh, bool dynamic)
void UpdateMeshBuffer(Mesh mesh, int index, void *data, int dataSize, int offset) void UpdateMeshBuffer(Mesh mesh, int index, void *data, int dataSize, int offset)
void UnloadMesh(Mesh mesh)
void DrawMesh(Mesh mesh, Material material, Matrix transform) void DrawMesh(Mesh mesh, Material material, Matrix transform)
void DrawMeshInstanced(Mesh mesh, Material material, Matrix *transforms, int instances) void DrawMeshInstanced(Mesh mesh, Material material, Matrix *transforms, int instances)
void UnloadMesh(Mesh mesh)
bool ExportMesh(Mesh mesh, const char *fileName) bool ExportMesh(Mesh mesh, const char *fileName)
Material *LoadMaterials(const char *fileName, int *materialCount) BoundingBox GetMeshBoundingBox(Mesh mesh)
Material LoadMaterialDefault(void) void GenMeshTangents(Mesh *mesh)
void UnloadMaterial(Material material) void GenMeshBinormals(Mesh *mesh)
void SetMaterialTexture(Material *material, int mapType, Texture2D texture)
void SetModelMeshMaterial(Model *model, int meshId, int materialId)
ModelAnimation *LoadModelAnimations(const char *fileName, int *animsCount)
void UpdateModelAnimation(Model model, ModelAnimation anim, int frame)
void UnloadModelAnimation(ModelAnimation anim)
void UnloadModelAnimations(ModelAnimation* animations, unsigned int count)
bool IsModelAnimationValid(Model model, ModelAnimation anim)
Mesh GenMeshPoly(int sides, float radius) Mesh GenMeshPoly(int sides, float radius)
Mesh GenMeshPlane(float width, float length, int resX, int resZ) Mesh GenMeshPlane(float width, float length, int resX, int resZ)
Mesh GenMeshCube(float width, float height, float length) Mesh GenMeshCube(float width, float height, float length)
Mesh GenMeshSphere(float radius, int rings, int slices) Mesh GenMeshSphere(float radius, int rings, int slices)
Mesh GenMeshHemiSphere(float radius, int rings, int slices) Mesh GenMeshHemiSphere(float radius, int rings, int slices)
Mesh GenMeshCylinder(float radius, float height, int slices) Mesh GenMeshCylinder(float radius, float height, int slices)
Mesh GenMeshCone(float radius, float height, int slices)
Mesh GenMeshTorus(float radius, float size, int radSeg, int sides) Mesh GenMeshTorus(float radius, float size, int radSeg, int sides)
Mesh GenMeshKnot(float radius, float size, int radSeg, int sides) Mesh GenMeshKnot(float radius, float size, int radSeg, int sides)
Mesh GenMeshHeightmap(Image heightmap, Vector3 size) Mesh GenMeshHeightmap(Image heightmap, Vector3 size)
Mesh GenMeshCubicmap(Image cubicmap, Vector3 cubeSize) Mesh GenMeshCubicmap(Image cubicmap, Vector3 cubeSize)
BoundingBox MeshBoundingBox(Mesh mesh) Material *LoadMaterials(const char *fileName, int *materialCount)
void MeshTangents(Mesh *mesh) Material LoadMaterialDefault(void)
void MeshBinormals(Mesh *mesh) void UnloadMaterial(Material material)
void DrawModel(Model model, Vector3 position, float scale, Color tint) void SetMaterialTexture(Material *material, int mapType, Texture2D texture)
void DrawModelEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint) void SetModelMeshMaterial(Model *model, int meshId, int materialId)
void DrawModelWires(Model model, Vector3 position, float scale, Color tint) ModelAnimation *LoadModelAnimations(const char *fileName, unsigned int *animCount)
void DrawModelWiresEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint) void UpdateModelAnimation(Model model, ModelAnimation anim, int frame)
void DrawBoundingBox(BoundingBox box, Color color) void UnloadModelAnimation(ModelAnimation anim)
void DrawBillboard(Camera camera, Texture2D texture, Vector3 center, float size, Color tint) void UnloadModelAnimations(ModelAnimation* animations, unsigned int count)
void DrawBillboardRec(Camera camera, Texture2D texture, Rectangle source, Vector3 center, float size, Color tint) bool IsModelAnimationValid(Model model, ModelAnimation anim)
bool CheckCollisionSpheres(Vector3 center1, float radius1, Vector3 center2, float radius2) bool CheckCollisionSpheres(Vector3 center1, float radius1, Vector3 center2, float radius2)
bool CheckCollisionBoxes(BoundingBox box1, BoundingBox box2) bool CheckCollisionBoxes(BoundingBox box1, BoundingBox box2)
bool CheckCollisionBoxSphere(BoundingBox box, Vector3 center, float radius) bool CheckCollisionBoxSphere(BoundingBox box, Vector3 center, float radius)
bool CheckCollisionRaySphere(Ray ray, Vector3 center, float radius) RayCollision GetRayCollisionSphere(Ray ray, Vector3 center, float radius)
bool CheckCollisionRaySphereEx(Ray ray, Vector3 center, float radius, Vector3 *collisionPoint) RayCollision GetRayCollisionBox(Ray ray, BoundingBox box)
bool CheckCollisionRayBox(Ray ray, BoundingBox box) RayCollision GetRayCollisionModel(Ray ray, Model model)
RayHitInfo GetCollisionRayMesh(Ray ray, Mesh mesh, Matrix transform) RayCollision GetRayCollisionMesh(Ray ray, Mesh mesh, Matrix transform)
RayHitInfo GetCollisionRayModel(Ray ray, Model model) RayCollision GetRayCollisionTriangle(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3)
RayHitInfo GetCollisionRayTriangle(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3) RayCollision GetRayCollisionQuad(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3, Vector3 p4)
RayHitInfo GetCollisionRayGround(Ray ray, float groundHeight)
void InitAudioDevice(void) void InitAudioDevice(void)
void CloseAudioDevice(void) void CloseAudioDevice(void)
bool IsAudioDeviceReady(void) bool IsAudioDeviceReady(void)
@ -418,7 +430,7 @@ Wave LoadWave(const char *fileName)
Wave LoadWaveFromMemory(const char *fileType, const unsigned char *fileData, int dataSize) Wave LoadWaveFromMemory(const char *fileType, const unsigned char *fileData, int dataSize)
Sound LoadSound(const char *fileName) Sound LoadSound(const char *fileName)
Sound LoadSoundFromWave(Wave wave) Sound LoadSoundFromWave(Wave wave)
void UpdateSound(Sound sound, const void *data, int samplesCount) void UpdateSound(Sound sound, const void *data, int sampleCount)
void UnloadWave(Wave wave) void UnloadWave(Wave wave)
void UnloadSound(Sound sound) void UnloadSound(Sound sound)
bool ExportWave(Wave wave, const char *fileName) bool ExportWave(Wave wave, const char *fileName)
@ -442,18 +454,19 @@ Music LoadMusicStream(const char *fileName)
Music LoadMusicStreamFromMemory(const char *fileType, unsigned char* data, int dataSize) Music LoadMusicStreamFromMemory(const char *fileType, unsigned char* data, int dataSize)
void UnloadMusicStream(Music music) void UnloadMusicStream(Music music)
void PlayMusicStream(Music music) void PlayMusicStream(Music music)
bool IsMusicPlaying(Music music) bool IsMusicStreamPlaying(Music music)
void UpdateMusicStream(Music music) void UpdateMusicStream(Music music)
void StopMusicStream(Music music) void StopMusicStream(Music music)
void PauseMusicStream(Music music) void PauseMusicStream(Music music)
void ResumeMusicStream(Music music) void ResumeMusicStream(Music music)
void SeekMusicStream(Music music, float position)
void SetMusicVolume(Music music, float volume) void SetMusicVolume(Music music, float volume)
void SetMusicPitch(Music music, float pitch) void SetMusicPitch(Music music, float pitch)
float GetMusicTimeLength(Music music) float GetMusicTimeLength(Music music)
float GetMusicTimePlayed(Music music) float GetMusicTimePlayed(Music music)
AudioStream InitAudioStream(unsigned int sampleRate, unsigned int sampleSize, unsigned int channels) AudioStream LoadAudioStream(unsigned int sampleRate, unsigned int sampleSize, unsigned int channels)
void UpdateAudioStream(AudioStream stream, const void *data, int samplesCount) void UnloadAudioStream(AudioStream stream)
void CloseAudioStream(AudioStream stream) void UpdateAudioStream(AudioStream stream, const void *data, int frameCount)
bool IsAudioStreamProcessed(AudioStream stream) bool IsAudioStreamProcessed(AudioStream stream)
void PlayAudioStream(AudioStream stream) void PlayAudioStream(AudioStream stream)
void PauseAudioStream(AudioStream stream) void PauseAudioStream(AudioStream stream)

View File

@ -8,10 +8,10 @@ local keywords = {
local structs = { local structs = {
"Vector2", "Vector3", "Vector4", "Quaternion", "Vector2", "Vector3", "Vector4", "Quaternion",
"Matrix", "Color", "Rectangle", "Image", "Texture", "Texture2D", "Matrix", "Color", "Rectangle", "Image", "Texture", "Texture2D",
"RenderTexture", "NPatchInfo", "CharInfo", "Font", "RenderTexture", "NPatchInfo", "GlyphInfo", "Font",
"Camera", "Camera2D", "Mesh", "Shader", "MaterialMap", "Camera", "Camera2D", "Mesh", "Shader", "MaterialMap",
"Material", "Model", "Transform", "BoneInfo", "ModelAnimation", "Material", "Model", "Transform", "BoneInfo", "ModelAnimation",
"Ray", "RayHitInfo", "BoundingBox", "Wave", "Sound", "Music", "Ray", "RayCollision", "BoundingBox", "Wave", "Sound", "Music",
"AudioStream", "VrDeviceInfo", "Camera3D", "RenderTexture2D", "AudioStream", "VrDeviceInfo", "Camera3D", "RenderTexture2D",
"TextureCubemap", "TraceLogCallback", "PhysicsBody", "TextureCubemap", "TraceLogCallback", "PhysicsBody",
"GestureEvent", "GuiStyle", "GuiTextBoxState", "GestureEvent", "GuiStyle", "GuiTextBoxState",
@ -19,6 +19,14 @@ local structs = {
"ShaderAttributeDataType", "MaterialMapIndex", "VrStereoConfig" "ShaderAttributeDataType", "MaterialMapIndex", "VrStereoConfig"
} }
local rl_structs = {
"rlTraceLogLevel", "rlPixelFormat", "rlTextureFilter",
"rlBlendMode", "rlShaderLocationIndex", "rlShaderUniformDataType",
"rlShaderAttributeDataType", "rlFramebufferAttachType",
"rlFramebufferAttachTextureType", "rlVertexBuffer", "rlDrawCall",
"rlRenderBatch"
}
local functions = {} local functions = {}
local proto = {} local proto = {}
@ -26,7 +34,7 @@ local counter = 0
local custom_support = { local custom_support = {
["rlgl"] = function (line) ["rlgl"] = function (line)
return line:gsub("[%s*]+(rl%w+)", function (part) return line:gsub("([%s*]+)(rl%w+)", function (pre, part)
functions[#functions + 1] = part functions[#functions + 1] = part
counter = counter + 1 counter = counter + 1
@ -61,6 +69,12 @@ for _,modname in ipairs(modules) do
end end
end end
for i,s in ipairs(rl_structs) do
if part == s then
return before .. part
end
end
return before return before
end) end)

View File

@ -2,6 +2,7 @@ void GuiEnable(void)
void GuiDisable(void) void GuiDisable(void)
void GuiLock(void) void GuiLock(void)
void GuiUnlock(void) void GuiUnlock(void)
bool GuiIsLocked(void)
void GuiFade(float alpha) void GuiFade(float alpha)
void GuiSetState(int state) void GuiSetState(int state)
int GuiGetState(void) int GuiGetState(void)

View File

@ -36,6 +36,7 @@ float Vector3Length(const Vector3 v)
float Vector3LengthSqr(const Vector3 v) float Vector3LengthSqr(const Vector3 v)
float Vector3DotProduct(Vector3 v1, Vector3 v2) float Vector3DotProduct(Vector3 v1, Vector3 v2)
float Vector3Distance(Vector3 v1, Vector3 v2) float Vector3Distance(Vector3 v1, Vector3 v2)
Vector2 Vector3Angle(Vector3 v1, Vector3 v2)
Vector3 Vector3Negate(Vector3 v) Vector3 Vector3Negate(Vector3 v)
Vector3 Vector3Divide(Vector3 v1, Vector3 v2) Vector3 Vector3Divide(Vector3 v1, Vector3 v2)
Vector3 Vector3Normalize(Vector3 v) Vector3 Vector3Normalize(Vector3 v)

View File

@ -3,7 +3,7 @@ void rlPushMatrix(void)
void rlPopMatrix(void) void rlPopMatrix(void)
void rlLoadIdentity(void) void rlLoadIdentity(void)
void rlTranslatef(float x, float y, float z) void rlTranslatef(float x, float y, float z)
void rlRotatef(float angleDeg, float x, float y, float z) void rlRotatef(float angle, float x, float y, float z)
void rlScalef(float x, float y, float z) void rlScalef(float x, float y, float z)
void rlMultMatrixf(float *matf) void rlMultMatrixf(float *matf)
void rlFrustum(double left, double right, double bottom, double top, double znear, double zfar) void rlFrustum(double left, double right, double bottom, double top, double znear, double zfar)
@ -37,6 +37,9 @@ void rlEnableShader(unsigned int id)
void rlDisableShader(void) void rlDisableShader(void)
void rlEnableFramebuffer(unsigned int id) void rlEnableFramebuffer(unsigned int id)
void rlDisableFramebuffer(void) void rlDisableFramebuffer(void)
void rlActiveDrawBuffers(int count)
void rlEnableColorBlend(void)
void rlDisableColorBlend(void)
void rlEnableDepthTest(void) void rlEnableDepthTest(void)
void rlDisableDepthTest(void) void rlDisableDepthTest(void)
void rlEnableDepthMask(void) void rlEnableDepthMask(void)
@ -66,19 +69,20 @@ void rlLoadExtensions(void *loader)
int rlGetVersion(void) int rlGetVersion(void)
int rlGetFramebufferWidth(void) int rlGetFramebufferWidth(void)
int rlGetFramebufferHeight(void) int rlGetFramebufferHeight(void)
Shader rlGetShaderDefault(void) unsigned int rlGetTextureIdDefault(void)
Texture2D rlGetTextureDefault(void) unsigned int rlGetShaderIdDefault(void)
RenderBatch rlLoadRenderBatch(int numBuffers, int bufferElements) int *rlGetShaderLocsDefault(void)
void rlUnloadRenderBatch(RenderBatch batch) rlRenderBatch rlLoadRenderBatch(int numBuffers, int bufferElements)
void rlDrawRenderBatch(RenderBatch *batch) void rlUnloadRenderBatch(rlRenderBatch batch)
void rlSetRenderBatchActive(RenderBatch *batch) void rlDrawRenderBatch(rlRenderBatch *batch)
void rlSetRenderBatchActive(rlRenderBatch *batch)
void rlDrawRenderBatchActive(void) void rlDrawRenderBatchActive(void)
bool rlCheckRenderBatchLimit(int vCount) bool rlCheckRenderBatchLimit(int vCount)
void rlSetTexture(unsigned int id) void rlSetTexture(unsigned int id)
unsigned int rlLoadVertexArray(void) unsigned int rlLoadVertexArray(void)
unsigned int rlLoadVertexBuffer(void *buffer, int size, bool dynamic) unsigned int rlLoadVertexBuffer(void *buffer, int size, bool dynamic)
unsigned int rlLoadVertexBufferElement(void *buffer, int size, bool dynamic) unsigned int rlLoadVertexBufferElement(void *buffer, int size, bool dynamic)
void rlUpdateVertexBuffer(int bufferId, void *data, int dataSize, int offset) void rlUpdateVertexBuffer(unsigned int bufferId, void *data, int dataSize, int offset)
void rlUnloadVertexArray(unsigned int vaoId) void rlUnloadVertexArray(unsigned int vaoId)
void rlUnloadVertexBuffer(unsigned int vboId) void rlUnloadVertexBuffer(unsigned int vboId)
void rlSetVertexAttribute(unsigned int index, int compSize, int type, bool normalized, int stride, void *pointer) void rlSetVertexAttribute(unsigned int index, int compSize, int type, bool normalized, int stride, void *pointer)
@ -93,9 +97,10 @@ unsigned int rlLoadTextureDepth(int width, int height, bool useRenderBuffer)
unsigned int rlLoadTextureCubemap(void *data, int size, int format) unsigned int rlLoadTextureCubemap(void *data, int size, int format)
void rlUpdateTexture(unsigned int id, int offsetX, int offsetY, int width, int height, int format, const void *data) void rlUpdateTexture(unsigned int id, int offsetX, int offsetY, int width, int height, int format, const void *data)
void rlGetGlTextureFormats(int format, unsigned int *glInternalFormat, unsigned int *glFormat, unsigned int *glType) void rlGetGlTextureFormats(int format, unsigned int *glInternalFormat, unsigned int *glFormat, unsigned int *glType)
const char *rlGetPixelFormatName(unsigned int format)
void rlUnloadTexture(unsigned int id) void rlUnloadTexture(unsigned int id)
void rlGenerateMipmaps(Texture2D *texture) void rlGenTextureMipmaps(unsigned int id, int width, int height, int format, int *mipmaps)
void *rlReadTexturePixels(Texture2D texture) void *rlReadTexturePixels(unsigned int id, int width, int height, int format)
unsigned char *rlReadScreenPixels(int width, int height) unsigned char *rlReadScreenPixels(int width, int height)
unsigned int rlLoadFramebuffer(int width, int height) unsigned int rlLoadFramebuffer(int width, int height)
void rlFramebufferAttach(unsigned int fboId, unsigned int texId, int attachType, int texType, int mipLevel) void rlFramebufferAttach(unsigned int fboId, unsigned int texId, int attachType, int texType, int mipLevel)
@ -110,7 +115,7 @@ int rlGetLocationAttrib(unsigned int shaderId, const char *attribName)
void rlSetUniform(int locIndex, const void *value, int uniformType, int count) void rlSetUniform(int locIndex, const void *value, int uniformType, int count)
void rlSetUniformMatrix(int locIndex, Matrix mat) void rlSetUniformMatrix(int locIndex, Matrix mat)
void rlSetUniformSampler(int locIndex, unsigned int textureId) void rlSetUniformSampler(int locIndex, unsigned int textureId)
void rlSetShader(Shader shader) void rlSetShader(unsigned int id, int *locs)
Matrix rlGetMatrixModelview(void) Matrix rlGetMatrixModelview(void)
Matrix rlGetMatrixProjection(void) Matrix rlGetMatrixProjection(void)
Matrix rlGetMatrixTransform(void) Matrix rlGetMatrixTransform(void)