EtiLibs - A suite of personal knick-knacks and tools that I use in my projects

This is a fairly niche project, hence the lack of a pub forum post. I decided I might as well drop this here as a sort of resource dump for you all.

Unlike most of my public forum posts, I will not be elaborating on much of what the components of the system are. Sorry, you’re not getting the ultra quality writing today :stuck_out_tongue:

Notable elements

  • DeferredRegistry, a thread(?)-safe(ish) table wrapper. Look at all that uncertainty.
  • Looper, a utility to create infinite loops that are bound to heartbeat.
  • Wait, a replacement for wait. Obviously. Also uses heartbeat.
  • Table extensions, which add a lot of predicate-based things (e.g. table.where and table.first)
  • CSString, which crossports some niche features of C#'s strings (e.g. its version of string.Format using indexed parameters in the string). The method naming convention in this one will drive you insane, I know it for a fact.
  • SpecialRNG, which is an RNG wrapper that allows you to index specific iterations for a given seed.

There’s a lot more than this. Mess with them and see what you find useful.

All of the modules have actual docs in them (or, most of them do) so open up a module to see what it does.