8 projects tagged "C"
The SDL_gfx library offers several components: Graphic Primitives, Rotozoomer, Framerate control, and MMX image filters. The Primitives component provides basic drawing routines: pixels, hlines, vlines, lines, aa-lines, thick-lines, rectangles, rounded-rectangles, boxes, rounded boxes, circles, aa-circles, ellipses, trigons, polygons, textured-polygons, Bezier curves, and an 8x8 pixmap font for drawing onto any SDL Surface. Full alpha blending, hardware surface locking, and all surface depths are supported. The Rotozoomer can use interpolation for high quality output.
PhysicsFS is a library to provide abstract access to various archives. The programmer defines a "write directory" on the physical filesystem. No file writing done through the PhysicsFS API can leave that write directory, for security. For file reading, the programmer lists directories and archives that form a "search path". Once the search path is defined, it becomes a single, transparent, hierarchical filesystem. This makes for easy access to ZIP files in the same way as you access a file directly on the disk, and it makes it easy to ship a new archive that will override a previous archive on a per-file basis. Symbolic links can be disabled, for added safety. Finally, PhysicsFS gives you a platform- abstracted means to determine if CD-ROMs are available, the user's home directory, where in the real filesystem your program is running, etc.
Octaspire Crates! is a scriptable, skinnable, extensible, and relocatable 3D action puzzle game. All the missions, game entities (or crates), game states, and configuration of the game engine are implemented as plain text Lua-scripts. So, if you know Lua, you can write new game entities, game states, missions, and levels with any text editor, without any special development tools. New skins can be created with any image editor that can save .png images, dropped into a new subdirectory under the resources/textures directory, and changed in the configuration file config.lua. Crates has also its own (simple) implementations for all the different container classes it needs (like vector, string, and so on) to keep the external dependencies fewer.
The Kowalski project aims to provide a data driven, lightweight cross platform audio solution. The target audience is developers of games and similar applications where real time audio plays an important role. The Kowalski engine, which is the runtime component, relies only on host-specific external libraries to pass the final output buffers to the audio hardware. All other processing is done in the engine code. Features include positional audio (distance attenuation, cone attenuation, Doppler shift, binaural panning), real time Ogg Vorbis decoding, a powerful mix bus system, and tools to build, validate, and view Kowalski data.
crunch/crnlib is a lossy texture compression tool and library for developers that distributes and uses content in the DXT1/5/N or 3DC/BC5 compressed mipmapped texture formats. crnlib can compress mipmapped 2D textures and cubemaps to .8-1.25 bits/texel, and normal maps to 1.75-2 bits/texel. crnlib's quality and performance is competitive to transform-based solutions, or other offline/real-time DXTn compressors such as squish or ATI_Compress. crnlib implements a new form of "clustered" DXTn compression, with a compressed texture data format that was carefully designed to be very quickly transcodable directly to raw DXTn texture bits with no intermediate recompression step or individual pixel-level operations. The typical single threaded transcode to DXTn rate is equivalent to 100-250 megatexels/sec. Fast random access to individual mipmap levels is supported.