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
ClassreaderI 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 OdinSince 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 | MarketplaceNot 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