Banjo API
1.0.0-rc.2
Low-level C99 game development API
Loading...
Searching...
No Matches
Changelog
[1.0.0] - Unreleased
Documentation
Added
Graphics & Rendering
Window management with software framebuffer and multiple pixel formats
Fullscreen mode and resizable windows with resize callbacks
Bitmap operations: blitting (copy, stretched, color-keyed), BMP loading
Text rendering with ANSI color code support
Drawing primitives: lines, rectangles, triangles, circles, polylines (filled and outlined)
Per-pixel shader functions for procedural image generation
Audio
Real-time PCM audio playback with custom sample generation callbacks
Built-in waveform generators: sine, square, triangle, sawtooth
Support for INT16 and F32 audio formats
Playback control: play, pause, stop, reset
Input & Events
Event system with keyboard, mouse, and window events
Callback and polling modes for event handling
Key repeat support and standard Virtual-Key codes
Mouse button and cursor movement tracking
Networking
TCP support: listeners and stream connections
UDP support: datagram send/receive with broadcast
IPv4 and IPv6 address resolution
Connection timeouts, keep-alive, and non-blocking I/O
Network simulation for testing
Mathematics
Precision-agnostic math (configurable float/double/long double)
Vector types: 2D, 3D, 4D with full algebra (dot, cross, normalize, distance)
Matrix types: 3x3, 3x2, 4x4, 4x3 for 2D and 3D transforms
Quaternions with slerp interpolation and matrix conversion
Utilities: clamp, smoothstep, lerp, epsilon-aware comparisons
Physics
1D classical mechanics: acceleration, velocity, position
2D particle simulation with gravity, drag, and point gravity
2D rigid body dynamics with torque and semi-implicit Euler integration
2D collision detection: line segment intersection, circle-segment collision
Utilities
Random number generation with PCG32 (independent streams)
Distribution helpers: uniform, bernoulli, normal/gaussian
Time utilities: Unix timestamp, monotonic clock, stopwatch for delta timing
File and memory-backed data streams with unified API
Pixel format encoding: indexed (1/4/8-bit), bitfield (RGB565, XRGB1555), byte-per-channel
Axis-aligned rectangles with intersection and union operations
Command-line argument parsing
Logging and error handling infrastructure
Generated on
for Banjo API by
1.14.0