All Projects → osom8979 → tbag

osom8979 / tbag

Licence: MIT License
Tea-bag is Third party extension utility project

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
CMake
9771 projects
python
139335 projects - #7 most used programming language
shell
77523 projects
HTML
75241 projects

Projects that are alternatives of or similar to tbag

Luvi
A project in-between luv and luvit.
Stars: ✭ 215 (+1553.85%)
Mutual labels:  luajit, libuv
Luvit
Lua + libUV + jIT = pure awesomesauce
Stars: ✭ 3,443 (+26384.62%)
Mutual labels:  luajit, libuv
raylua
Cross-Platform, Modern, And updated LuaJIT bindings for raylib library.
Stars: ✭ 77 (+492.31%)
Mutual labels:  raylib, luajit
Luv
Bare libuv bindings for lua
Stars: ✭ 466 (+3484.62%)
Mutual labels:  luajit, libuv
Luajit Imgui
LuaJIT ffi binding for imgui, backends and extension widgets
Stars: ✭ 107 (+723.08%)
Mutual labels:  imgui, luajit
Innoextract
A tool to unpack installers created by Inno Setup
Stars: ✭ 407 (+3030.77%)
Mutual labels:  boost, zlib
raylib-lua
A modern LuaJIT binding for Raylib (also available at https://gitlab.com/TSnake41/raylib-lua)
Stars: ✭ 47 (+261.54%)
Mutual labels:  raylib, luajit
asio-extensions
Additional functionality built on top of (Boost.)Asio
Stars: ✭ 16 (+23.08%)
Mutual labels:  boost
libzip-win-build
libzip Windows build with Visual Studio.
Stars: ✭ 33 (+153.85%)
Mutual labels:  zlib
static string
A fixed capacity dynamically sized string
Stars: ✭ 46 (+253.85%)
Mutual labels:  boost
CDT-plusplus
Causal Dynamical Triangulations in C++ using CGAL
Stars: ✭ 49 (+276.92%)
Mutual labels:  boost
zopflipy
A Python bindings for Zopfli
Stars: ✭ 17 (+30.77%)
Mutual labels:  zlib
Apos.Gui
UI library for MonoGame.
Stars: ✭ 77 (+492.31%)
Mutual labels:  imgui
cdn-up-and-running
CDN Up and Running - an introduction about how modern CDNs works
Stars: ✭ 131 (+907.69%)
Mutual labels:  luajit
DearPyGui-Obj
An object-oriented wrapper around DearPyGui
Stars: ✭ 32 (+146.15%)
Mutual labels:  imgui
kobopatch-patches
Patches for use with kobopatch.
Stars: ✭ 134 (+930.77%)
Mutual labels:  zlib
lua-resty-jump-consistent-hash
consistent hash for openresty
Stars: ✭ 24 (+84.62%)
Mutual labels:  luajit
demos
OpenGL and Vulkan graphics experiments and samples
Stars: ✭ 34 (+161.54%)
Mutual labels:  imgui
DolphinDBPlugin
No description or website provided.
Stars: ✭ 33 (+153.85%)
Mutual labels:  zlib
ScopeGUI
虚拟示波器 GUI for https://github.com/shuai132/ScopeMCU
Stars: ✭ 46 (+253.85%)
Mutual labels:  imgui

TBAG

Introduction

Tea-bag is Third party extension utility project.

Dep target

  • simdpp 2.1 (Boost Software License, Version 1.0)
  • stb master-e6afb9c (Public Domain or MIT license)
  • imgui 1.70 (MIT license)
  • imnodes master-68af72f (MIT license)
  • raylib 2.5-dev (zlib license)

External target

  • libressl 2.9.2 (Dual license; OpenSSL & SSLeay)
  • zlib 1.2.11 (zlib license)
  • libuv 1.38.1 (MIT license)
  • freetype 2.9.1 (FreeType License)
  • LuaJIT 2.0.5 (MIT license)
    • LuaDist/LuaJIT-CMakeLists.txt 2.0.3 (MIT license)
  • bzip2 1.0.5 (BSD-like license)
  • xz/liblzma 5.2.4 (Public domain)
  • libarchive 3.3.3 (New BSD license)
  • CMake 3.13.4 (BSD 3-Clause license)
    • external/archive/build/Modules/CMakePushCheckState.cmake
  • gperftools 2.7 (BSD 3-Clause license)
  • nng 1.3.2 (MIT license)
  • glfw 3.3 (zlib license)
  • sqlite 3.28.0 (Public Domain)
  • date master-27d1e1e (MIT license)
  • lmdb bbc15ab (The OpenLDAP Public License)
  • civetweb master-2100e66 (MIT license)
  • asmjit master-5d40561 (zlib license)
  • blend2d master-934d071 (zlib license)
  • OpenBLAS 0.3.7 (BSD 3-Clause license)
  • icu4c 57.1 (ICU license; http://source.icu-project.org/repos/icu/icu/trunk/LICENSE)
  • flatbuffers 1.10.0 (Apache License, Version 2.0)
  • gtest 1.7.0 (BSD 3-clause license)
  • http-parser 2.8.1 (MIT license)
  • minizip 1.1 (zlib license)
  • demangle (google-glog) 0.3.4 (BSD 3-clause license)
  • lemon 1.3.1 (Boost Software License, Version 1.0)
  • lfds 7.1.1 (Public domain)

Inline libraries

  • fmt 6.2.1 (MIT license)
  • jsoncpp 1.8.4 (MIT license)
  • tinyxml2 7.0.1 (zlib license)

Resources

  • NanumGothicCoding 2.5 (SIL Open Font License, Version 1.1)

Dependencies

## x11, xRandr
sudo apt-get install xorg-dev

## OpenGL
sudo apt-get install libglu1-mesa-dev

Optional:

## OpenCL
sudo apt-get install ocl-icd-opencl-dev

## UDev
sudo apt-get install libudev-dev

## xcb-image
sudo apt-get install libxcb-image0-dev

Programming rules.

  • Do not use exception expressions.

CMake build options.

The main build options you will want to configure are as follows:

  • USE_CCACHE: Enable ccache compile.
  • USE_GOLD: Enable ld.gold linker if gcc compiler.
  • USE_PCH: Enable PCH compile.
  • USE_OPENGL: Enable OpenGL library.
  • USE_OPENCL: Enable OpenCL library.
  • USE_CUDA: Enable CUDA compile.
  • USE_DOXYGEN: Enable doxygen documentation.
  • USE_RTTI: Enable RTTI flag.
  • DISABLE_TDLOG: Disable tbag default logger.
  • DISABLE_LUAJIT_EXE_FLAGS: Disable LuaJIT Embedding flags if apple.
  • DISABLE_DEFAULT_TPOT_LUAJIT: Do not use the default TpoT mode as LuaJIT.
  • DISABLE_TESTER: Do not build the tester target.
  • INSTALL_WITH_FAKE_LUAJIT: Install fake LuaJIT.

Tpot

Environment variables.

  • EMPTY.

Game Engine

Simple example

luajit + raylib + imgui example:

-- Core - Basic window

width = 800
height = 450

tbag.SetConfigFlags(tbag.FLAG_WINDOW_RESIZABLE);
tbag.InitWindow(width, height, 'Basic window')
tbag.GuiInitRay()
tbag.GuiNodesInitialize()
tbag.SetTargetFPS(60)

gradient = tbag.GenImageGradientV(400, 400, tbag.RED, tbag.BLUE);
texture = tbag.LoadTextureFromImage(gradient);
tbag.UnloadImage(gradient);
gradient = nil

while not tbag.WindowShouldClose() do
    tbag.GuiUpdateRay()
    if tbag.GuiBegin('Window') then
        tbag.GuiText('Label')
    end
    tbag.GuiEnd()

    tbag.GuiShowDemoWindow()
    tbag.GuiNodesShowDemoWindow()

    tbag.BeginDrawing()
    tbag.ClearBackground({30, 30, 30})
    tbag.DrawTexture(texture, 0, 0, tbag.WHITE);
    tbag.DrawCircleV({width/2, height/2}, 50, tbag.RED);
    text = tbag.format('Current FPS: {}', tbag.GetFPS())
    tbag.DrawText(text, 10, 20, 20, {200, 200, 200});
    tbag.EndDrawing()
end

tbag.UnloadTexture(texture);
texture = nil

tbag.GuiNodesShutdown()
tbag.GuiShutdownRay()
tbag.CloseWindow()

License

See the LICENSE file for details. In summary, tbag is licensed under the MIT license.

ASCII Logo

+--------------------------+
|    __  __                |
|   / /_/ /_  ____ _____ _ |
|  / __/ __ \/ __ `/ __ `/ |
| / /_/ /_/ / /_/ / /_/ /  |
| \__/_.___/\__,_/\__, /   |
|                /____/    |
| Third party libs package |
+--------------------------+
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].