Happy new year everyone!

This year we’ll be seeing lot’s of improvements on the compiler and also solidifying core packages. December itself was going slow since most people took a break.

Contributions #

Here is the Monthly Release

  • obfuscate-source-code-locations flag to hash location strings MacOS:
    • -no-crt now works
    • Fix the duplicate -lSystem linker warning
    • Default to SDK version for -minimum-os-version to avoid linker warnings
  • #load now works with absolute paths
  • Fix a bug that caused running tests twice
  • General compiler crash fixes

Community Contributions #

There were a lot of community contributions this month! We’ll list a few of them and go into detail on some of these.

  • Raylib Odin Examples - Ports of raylib examples to odin
  • do_parallel - parallel iteration
  • Ncurses - ncurses bindings
  • WAV Tools - A simple library to read and write WAV files for the Odin programming language
  • FFTW - bindings FFTW, Fast Fourier Transform in the West
  • Tree Sitter - API bindings, wrappers and convenience for Tree Sitter
  • libui-ng - libui-ng bindings

Odin + Flakes + Nix #

“A using of the Odin Programming Language with the Nix+Flakes, to have a more accessible interaction with on Nix and NixOS operation system and any other Unix-like that have support for Nix as well (on the future!)

The main Idea is simplify the usage of Odin, to have all out of the box with no need to add any more software (or remove any unnecessary software if you wish with only one comment), so you don’t need to worry about anything after one line of Nix Flakes! with also have as plus+ reproducibility and immutability of Odin development/deploy! (of any* branch of the Odin project!)” - haller

Source: https://github.com/haller33/Odin-Flake

TodoMVC in odin & htmx #

“I created a proof of concept todo list website fully with Odin. Using my own http and template engine packages (and a little bit of htmx).” - laytan

Demo: https://todomvc-odin-htmx.laytan.dev/

Source: https://github.com/laytan/todomvc-odin-htmx

Todool Source Code #

“Since Todool dev stopped a while ago i thought i might as well share the source before it dies, maybe a good resource to learn from? probably not” - Skytrias

Source: https://github.com/Skytrias/todool

Community Showcase #

Miscellaneous #

...

I am working on a cut-fill grading program to regrade my pasture using rtk gps. thus far ive managed to import a survey and get contour lines going. the patch there is not large, maybe 10' x 30' outside my front window - mjolnir

...

This might be useful for someone. I'm working on a parser for Java class files, creating a tool similar to javap (java disassembler). Currently working on reading the bytecode. - FourteenDoggo

Classreader
...

I have made a simple open source lib or package to create plots in the Odin programming language, for line and scatter plots. Maybe latter I extend to histograms, it plots to file or to a image buffer in RGBA, of size_x by size_y , configurable. - JoaoCarvalho

Plots in Odin
...

Since I want to support IDEA 2023.3, I am releasing 0.3.0 which supports very simple code completion and, of course, JetBrains IDEs until version 2023.3 - obiwan87

Odin Support - IntelliJ IDEs Plugin | Marketplace
...

Not much to look at, but a functioning prototype for an automatic differentiation library supporting both scalar and element-wise-array "Variables". Here looking at a basic cantilever beam problem and confirming the fundamentals about strength, stiffness, and mass efficiency. - Robot.Jay

...

my new year's weekend project, an x86 disassembler has finally passed the chkstk test! - flysand

Game Development #

we've now got dummy record & playback. just needs some more QOL updates, and savestate, and we'll have a functional training mode - Krzysztoφορος

...

Working on a Playstation 1 emulator, having the bios booting (kind of) but no games so far, getting close though - Virror

Trailer for my game: Cat & Onion. Coming January 2024. Made in Odin + Raylib. Design, programming, art and music by me. - karl_zylinski

Graphics #

Raylib and a simple parallax cpu shader - Laufeyson

...

got a basic software renderer working - Francis_the_cat

I KNOW VULKAN - Izanth

...

freetype x opengl font rendering - flysand

...

Revamped terrain generation, added ground decorations, added biomes and mountains, first time it actually looks like mc - Chris

...

I promise this will be my last spam for the next few days, but finally figured out sparse rendering, this is 4096 chunks, 134 million blocks running at 200+ fps. Next step is world generation, because this world took 5 minutes to load lol. Average is about ~3k faces per chunk, down from 200k from dense chunks - Chris

INSTANCING - Izanth

...

Thanks for the tips, actual culling is way better. Still working on the proper sorting of indices to render back to front, but the benefit without the sort is awesome anyways - Chris

...

Drawing 14k sprites before the game goes below 60fps - Izanth

Made a simple animation in Odin/raylib with seasonal spirit (let's see if the Discord programmers decided to embed a 2.8 MB mp4... edit: they did!) - 10aded

Using modern OpenGL AZDO stuff I managed to more than triple the amount of sprites before the game goes below 60 fps! (RX 7600) - Izanth

Tools & UI #

...

Apparently I made a tool that exports fonts as packed bitmap images and also gives you mapping from rune -> rectangle - flysand

"microui" rectcut fun - Skytrias

just wrapped up my first odin project -- full implementation of mustache templates - b3lm0nt odin mustache

viewer for LMDB + CBOR (upcoming core:encoding/cbor from @laytan) byte blobs, similar to mongoDB compass - Skytrias