Banjo API 1.0.0-stable
Low-level C99 game development API
Loading...
Searching...
No Matches
Changelog

[Unreleased]

[1.0.0] - 2026-XX-XX

Initial release.

Added

  • Add window management with software framebuffer and multiple pixel formats
  • Add fullscreen mode and resizable windows with resize callbacks
  • Add bitmap operations: blitting (copy, stretched, color-keyed), BMP loading
  • Add text rendering with ANSI color code support
  • Add drawing primitives: lines, rectangles, triangles, circles, polylines (filled and outlined)
  • Add per-pixel shader functions for procedural image generation
  • Add real-time PCM audio playback with custom sample generation callbacks
  • Add built-in waveform generators: sine, square, triangle, sawtooth
  • Add support for INT16 and F32 audio formats
  • Add playback control: play, pause, stop, reset
  • Add event system with keyboard, mouse, and window events
  • Add callback and polling modes for event handling
  • Add key repeat support and standard Virtual-Key codes
  • Add mouse button and cursor movement tracking
  • Add TCP support: listeners and stream connections
  • Add UDP support: datagram send/receive with broadcast
  • Add IPv4 and IPv6 address resolution
  • Add connection timeouts, keep-alive, and non-blocking I/O
  • Add network simulation for testing
  • Add precision-agnostic math (configurable float/double/long double)
  • Add vector types: 2D, 3D, 4D with full algebra (dot, cross, normalize, distance)
  • Add matrix types: 3x3, 3x2, 4x4, 4x3 for 2D and 3D transforms
  • Add quaternions with slerp interpolation and matrix conversion
  • Add utilities: clamp, smoothstep, lerp, epsilon-aware comparisons
  • Add 1D classical mechanics: acceleration, velocity, position
  • Add 2D particle simulation with gravity, drag, and point gravity
  • Add 2D rigid body dynamics with torque and semi-implicit Euler integration
  • Add 2D collision detection: line segment intersection, circle-segment collision
  • Add random number generation with PCG32 (independent streams)
  • Add distribution helpers: uniform, bernoulli, normal/gaussian
  • Add time utilities: Unix timestamp, monotonic clock, stopwatch for delta timing
  • Add file and memory-backed data streams with unified API
  • Add pixel format encoding: indexed (1/4/8-bit), bitfield (RGB565, XRGB1555), byte-per-channel
  • Add axis-aligned rectangles with intersection and union operations
  • Add command-line argument parsing
  • Add logging and error handling infrastructure