Skip to content

quonic/my-odin-libs

Repository files navigation

my-odin-libs

A collection of Odin-lang libraries that I'm making for a personal 2d game engine. I want to keep these as simple as possible.

Lua plugin system. It allows for easy integration of Lua scripts as plugins, enabling dynamic content loading and scripting capabilities.

  • Currently has basic raylib bindings to show how to add libraries to Lua
  • Configuration loading and saving
  • Plugin loading and unloading

A simple wrapper around miniaudio with error checking and audio asset management.

Functions to move our game window to the primary monitor and get the primary monitor.

Open and save file dialogs for Odin using the native file dialog library for Windows and zenity/kdialog on Linux. Also include support for popup dialogs.

A Particle Emitter that can be used as a jumping off point for a more complex Particle Emitter.

Includes support for gravity, wind, drag, and collisions.

Example

2D vector that support float 32 and float 64.

Raylib doesn't support 64 floats, so this is my attempt to do this my self. At least start to.

Lets you run a command and get stdout.

Example Usage:

root_buf: [1024]byte
data := root_buf[:]
code, ok, out := run_executable("ls -lah", &data)
fmt.println(string(out))

Parses an exported Aseprite json sprite sheet.

Mostly this is inteded for getting the slice positions in the image.

This assumes the only settings changed in the Output tab are:

  • Checking: Output File and JSON Data
  • Unchecking Meta: Layers and Tags

Example Usage:

mySprite := ReadAsespriteJsonFile("assets/mySprite.json")

About

A collection of Odin-lang libraries that I use.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages