Sophie

Sophie

distrib > Mandriva > 2010.2 > i586 > media > contrib-backports > by-pkgid > f97f99741517142e4830f9fbaaf44401 > files > 4

libradius-engine0-0.7-1mdv2010.2.i586.rpm

2011-07-31 deraj@users.sourceforge.net

* r_file_system.c (r_file_system_start): Log paths on error

* radius.h: Fixed version number

* radius.h: Removed unused raw execution
* radius.c: Only support application-based execution for now

* r_file_system.h: Support multiple platform-specific data dirs
* r_file_system.c: Get platform-specific data dirs
* radius.c: Propagate data dir override to file system path allocation
* r_platform.h: Allow platforms to specify several data dirs
* r_platform_unix.h: Use hard-coded, default, and base dirs
* r_platform_windows.h: Only use the base dir on Windows

* r_file_system.h: Propagate main script to r_file_system_start
* r_file_system.c: Add all default dirs, more logging for file not found errors
* radius.c: Propagate main script to r_file_system_start

* r_event.c: Drop pending events after layer change to avoid double-submission

2011-07-26 deraj@users.sourceforge.net

* r_transform2d.c: Removed duplicate definition

* r_zlist.c: Fixed prototype for r_zlist_unlock implementation

* r_collision_detector.c (l_CollisionDetector_checkCollision): Unused param

* r_collision_detector.c: Removed erroneous consts
* r_collision_tree.c: Removed erroneous consts
* r_entity.c: Removed erroneous consts
* r_entity.h: Removed erroneous consts
* r_transform2d.c: Removed erroneous consts
* r_transform2d.h: Removed erroneous consts
* r_vector.c: Removed erroneous consts
* r_vector.h: Removed erroneous consts
* r_event.c: Removed erroneous consts
* r_mesh.c: Removed erroneous consts
* r_video.c: Removed erroneous consts

* r_entity.c (r_entity_update): Handle invalid values

* r_entity.c: Enable entity cleanup

* r_mesh.c (l_Mesh_addTriangle): Fix braces in triangle assignment

2011-05-14 deraj@users.sourceforge.net

* r_script_lib.c: Added shiftLeft and shiftRight

2011-04-09 deraj@users.sourceforge.net

* r_entity.c (r_entity_update): Update children when no update function exists

2011-04-05 deraj@users.sourceforge.net

* r_entity.c (r_entity_update): Don't update empty animations
* r_video.c (r_video_draw_element): Skip elements without images/animations

2011-04-01 deraj@users.sourceforge.net

* r_element.c: Add animation.addFrame for building animations programmatically

* r_entity.c (r_entity_update): Prevent underflow for zero-frame animation

2011-03-31 deraj@users.sourceforge.net

* r_entity.c (r_entity_update): Elements are now updated if necessary

* r_object_list.h: Expose r_object_list_remove_index
* r_object_list.c: Group r_object_list_remove_index with public functions
* r_zlist.h: Add r_zlist_remove_index
* r_zlist.c: Wrap r_object_list_remove_index
* r_element_list.h: Add r_element_list_remove_index
* r_element_list.c: Wrap r_zlist_remove_index

* r_element.h: Add transient flag to animations
* r_element.c: Initialize transient flag

* r_entity.c (r_entity_update): Transient animations are removed when done

2011-03-30 deraj@users.sourceforge.net

* r_mesh.c: Clean up triangle list in destructor

* r_video.c (r_video_draw_element): Separated image vs. image region drawing

* r_object.h: Added "Animation" object type
* r_script_lib.c: Added name for "Animation" type

* r_element.h: Definitions for frames, animations, and animation elements
* r_element.c: Animation/animation element initialization, registration

* r_video.c (r_video_draw_element): Draw current animation frame

2011-03-29 deraj@users.sourceforge.net

* r_entity.h: Split children list: ordering display (z), updates (order)
* r_entity.c: Keep children lists in sync, use children_update for updates

* r_entity_list.h: Constructors for display/update lists, new helpers
* r_entity_list.c: Support for update vs. display lists

* r_layer.h: Split entity lists: display (z), update (order)
* r_layer.c: Keep entity lists in sync, use entities_update for updates

* r_object_list.h: Expose object list direct manipulation functions
* r_object_list.c: Split up and expose manipulation functions

* r_zlist.h: Wrap direct manipulation functions
* r_zlist.c: Wrap direct manipulation functions

* r_video.c: Draw entities in display order (new decoupled from update order)

2011-03-28 deraj@users.sourceforge.net

* r_entity.c (r_entity_update): Children are no longer updated automatically
* r_entity.c (l_Entity_updateChildren): Added Entity.updateChildren

2011-03-27 deraj@users.sourceforge.net

* r_script_lib.c: Added "adir": convert angle to direction (on [0, 360))

2011-03-23 deraj@users.sourceforge.net

* r_file_system.c: Added "load" for forcing a script to be (re)loaded

2011-03-10 deraj@users.sourceforge.net

* r_script_lib.c: Added round, sign math functions

2011-02-20 deraj@users.sourceforge.net

* r_script_lib.c (r_script_string_setup): Expose Lua's find/format in "String"

* r_element_list.c (l_ElementList_forEach): Specify item type correctly
* r_zlist.h: Propagate item type to for-each
* r_zlist.c (l_ZList_forEach): Specify item type
* r_object_list.h: Propagate item type to for-each
* r_object_list.c (l_ObjectList_forEach): Specify item type

* r_script_lib.c: Added String.substring/toUpper/toLower

* r_event_keys.c: "kp-min" is now "kp-minus"

2011-02-06 deraj@users.sourceforge.net

* r_layer.c (r_layer_init): Initialize collision debugging to false

2011-02-05 deraj@users.sourceforge.net

* r_object_id_list.h: List of weak references to objects
* r_object_id_list.c: Implementation of weak reference list
* Makefile.am: Added r_object_id_list.c/h

* r_collision_detector.h: Expose l_CollisionDetector_new
* r_collision_detector.c: Remove CollisionDetector.new

* r_object.h: Add R_OBJECT_ID_INVALID and push-by-ID
* r_object.c: Push objects by ID only

* r_layer.h: Layers keep track of their collision detectors
* r_layer.c: Maintain list of collision detectors and add creation function
* r_video.c: Draw all collision detectors on the layer

* r_collision_tree.h: Tree entries no longer can be in limbo
* r_collision_tree.c: All tree operations now take effect immediately
* r_collision_detector.h: Add lock/unlock functions
* r_collision_detector.c: Protect tree operations by locking/committing
* r_layer.c: Lock/unlock collision detectors as well

* r_video.c: Move weak reference clearing to layer unlock

2011-02-04 deraj@users.sourceforge.net

* r_entity_list.h: Lock/unlock require parent argument
* r_entity_list.c (r_entity_list_lock/unlock): Lock/unlock this list as well
* r_layer.c (r_layer_update): Use r_layer_lock/unlock
* r_entity.c: Entity lists now lock recursively

2011-02-01 deraj@users.sourceforge.net

* r_entity.h: Added entity lock/unlock functions
* r_entity.c: Lock children when iterating, implement children locking

* r_entity_list.h: Add entity list lock/unlock
* r_entity_list.c: Locking, only update valid (for this frame) children

* r_layer.c: Lock entities when iterating, only update valid children

* r_layer_stack.c: Use updated references to object list items

* r_video.c: Assume entity lists aren't locked when rendering

* r_zlist.h: ZList locking/unlocking
* r_zlist.c: Simply "insert" function, add locking/unlocking

* r_object_list.h: Define object list entry type, add list-locking
* r_object_list.c: Use list item type, add locked manipulation/commit

2011-01-29 deraj@users.sourceforge.net

* r_collision_detector.h: Removed unused header

2011-01-20 deraj@users.sourceforge.net

* r_audio.h: Renamed r_audio_clip_instance_t positions to indicate units
* r_audio_decoder.h: Use samples instead of bytes for clip size
* r_audio_decoder.c: Use samples instead of bytes for clip size
* r_audio_clip_manager.c: Use samples instead of bytes for clip size

* r_audio.c (r_audio_callback): Rewrote mixing for better data locality

2011-01-18 deraj@users.sourceforge.net

* r_audio.c: Clamp instead of overflow audio

2011-01-15 deraj@users.sourceforge.net

* r_video.c: Improvements to collision debugging

2011-01-09 deraj@users.sourceforge.net

* r_collision_detector.h: Removed unused type

* r_collision_detector.c (l_CollisionDetector_forEachCollision): Use a
    different iteration mechanism when filtering based on groups

* r_collision_tree.h: Nodes track their parent, filtered collision test
* r_collision_tree.c: Added filtered test that can process fewer entries

2011-01-08 deraj@users.sourceforge.net

* r_object.h: Export functions for reading/writing unsigned int fields
* r_object.c: Implemented helpers for reading/writing unsigned int fields

* r_entity.h: Added "group" field to r_entity_t
* r_entity.c: Expose Entity.group

* r_collision_detector.c (l_CollisionDetector_forEachCollision): Opt. filters

2011-01-06 deraj@users.sourceforge.net

* r_collision_tree.h (r_collision_tree_entry_t): Added deleted flag
* r_collision_tree.c: Skip "deleted" entry collisions (really delete on update)

* r_hash_table.c (r_hash_table_clear): Implementation

* r_collision_tree.h: Added r_collision_tree_clear
* r_collision_tree.c (r_collision_tree_clear): Implementation

* r_collision_detector.c: Added CollisionDetector.clearChildren

* r_collision_tree.h: Added r_collision_tree_cleanup
* r_collision_tree.c (r_collision_tree_cleanup): Implementation

* r_collision_detector.c: Added cleanup for CollisionDetector

* r_collision_detector.c: Added CollisionDetector.checkCollision

* r_collision_tree.c (r_collision_tree_node_purge_invalid): Fixed update bug

* r_entity.h: Added flag to indicate if an entity has children
* r_entity.c: Initialize children entity list on demand
* r_video.c: Check for child entities before rendering them

2011-01-05 deraj@users.sourceforge.net

* Makefile.am: Added r_hash_table.c/h

* r_collision_detector.c: Added CollisionDetector.removeChild

* r_collision_tree.h: Added hash from entity to node, removal
* r_collision_tree.c: Keep hash up-to-date, simple (but flawed) removal

2011-01-04 deraj@users.sourceforge.net

* r_collision_tree.c: Added r_collision_tree_node_prune for pruning tree

* r_collision_tree.c: Push modified entries down to children when possible

* r_hash_table.h: Simple pointer to struct hash table
* r_hash_table.c: Chained hash table implementation

* r_collision_tree.h: Added entity-to-node hash table
* r_collision_tree.c: Initialize/update entity-to-node hash table

2011-01-03 deraj@users.sourceforge.net

* r_transform2d.h: Expose r_transform2d_invert
* r_transform2d.c: Implementation of inverse and determinant

* r_entity.c: Compute absolute transform by inverting local

* r_collision_detector.c (r_collision_detection_intersect_entities): Use
    bounding rectangle to skip triangle intersection tests
* r_entity.h: Added bounding rectangle to r_entity_t
* r_entity.c: Compute bounding rectangle on demand

* r_video.c: Debug collisions by drawing bounding rectangles as well

* Makefile.am: Added r_collision_tree.c/h

* r_collision_detector.c: Exposed r_collision_detector_intersect_entities

* r_list.h: List should be const for r_list_get_index
* r_list.c (r_list_get_index): List should be const

* r_mesh.h: Expose r_triangle_list_get_index for iteration
* r_mesh.c (r_triangle_list_get_index): Implementation
* r_entity.c: Fix mesh triangle iteration

* r_layer.h: Added member of graphically viewing collision detection
* r_layer.c: Added (self-explanatory) debugCollisionDetector field to layer
* r_video.c: Added facility for graphically viewing collision detection

* r_collision_tree.h: Added space-divided collision detection tree
* r_collision_tree.c: (Partial) Implementation of collision tree

* r_collision_detector.h: Add collision tree
* r_collision_detector.c: Use collision tree in for-each

* r_collision_tree.c: Update collision tree before finding collisions
* r_collision_detector.c: Use collision tree internally

2011-01-02 deraj@users.sourceforge.net

* r_object.h: Field init/read/write now receive a pointer to the field
* r_object.c: Update field functions to receive pointer to the field
* r_element.c: Updates for field functions prototype changes
* r_element_list.c: Updates for field functions prototype changes
* r_element_list.h: Updates for field functions prototype changes
* r_image_cache.c: Updates for field functions prototype changes
* r_image_cache.h: Updates for field functions prototype changes
* r_object_ref.c: Updates for field functions prototype changes
* r_object_ref.h: Updates for field functions prototype changes
* r_resource_cache.c: Updates for field functions prototype changes
* r_resource_cache.h: Updates for field functions prototype changes
* r_string_buffer.c: Updates for field functions prototype changes

* r_object.h: Added r_object_field_write_default for default write
* r_object.c (r_object_field_write_default): Implemented

2010-12-31 deraj@users.sourceforge.net

* configure.in: Incremented version
* r_defs.h: Incremented version

* r_event.c: Fixed bad merge

* r_mesh.c: Enforce CCW ordering on mesh triangles
* r_collision_detector.h: Moved R_TRIANGLE_SIGNED_AREA to here
* r_collision_detector.c: Mesh triangles are guaranteed to be CCW

2010-12-30 deraj@users.sourceforge.net

* r_collision_detector.h: Initial collision detection interface
* r_collision_detector.c: Working (though inefficient) collision detection

* r_object.h: Added CollisionDetector type
* r_script_lib.c: Register CollisionDetector type

* Makefile.am: Added r_collision_detector.*

* r_collision_detector.c: Code cleanup

2010-12-29 deraj@users.sourceforge.net

* r_matrix.h: Rewrote transformations to not use a stack
* r_matrix.c: Reimplemented transformations

* r_state.h: Pixel-to-coordinate transformation is now a member
* r_state.c: Initialize transformation
* r_event.c: Pixel-to-coordinate transformation is now a member
* r_video.c: Pixel-to-coordinate transformation is now a member

* Makefile.am: Renamed r_matrix.* to r_transform2d.*
* r_transform2d.h: Formerly r_matrix.h
* r_transform2d.c: Formerly r_matrix.c
* r_state.h: Include r_transform2d.h

* r_vector.h (r_vector2d_from_homogeneous): Mark source vector const
* r_vector.c (r_vector2d_from_homogeneous): Mark source vector const

* r_entity.c: Added Entity.convertToLocal/Absolute for coordinate transforms

* r_video.c: Fixed ordering of entity/element transformations
* r_entity.c: Fixed ordering of transformations

* r_transform2d.h: Expose normal vectors
* r_transform2d.c: Use homogeneous vectors internally only
* r_event.c: Don't need to use homogeneous vectors anymore

* r_entity.h: Expose transformation matrices
* r_entity.c: Expose transformation matrices, add Entity.mesh

* r_object.h: Add mesh type identifier
* r_script_lib.c: Export Mesh functions

* r_mesh.h: Added new mesh type
* r_mesh.c: New mesh type

2010-12-28 deraj@users.sourceforge.net

* r_entity.h: Added parent reference to r_entity_t
* r_entity.c: Keep track of parent when being added/removed
* r_layer.c (l_Layer_addChild): Top-level entities must not have a parent

2010-12-27 deraj@users.sourceforge.net

* r_entity_list.h: Export r_entity_list_init
* r_entity_list.c: Export r_entity_list_init

* r_entity.h: Don't directly expose internal entity list to scripts
* r_entity.c: Added r_entity_cleanup for clearing children
* r_layer.h: Don't directly expose internal entity list to scripts
* r_layer.c (r_layer_cleanup): Clear entity list

* r_video.c (r_video_draw): Layer entitiy list is now a member, not reference
* r_layer.c (r_layer_update): Entity list is now a member, not a reference
* r_video.c (r_video_draw_entity): Entity.children is a member, not reference

* r_object_list.h: Added manipulation functions for internal/hidden lists
* r_object_list.c: Implemented manipulation functions for internal/hidden lists
* r_zlist.h: Added manipulation functions for internal/hidden lists
* r_zlist.c: Implemented manipulation functions for internal/hidden lists

* r_entity.c: Added add/remove/forEach/clearChild/Children to Entity
* r_layer.c: Added add/remove/forEach/clearChild/Children to Layer

* r_object_list.c (r_object_list_add): Optional owner override (for parent)
* r_object_list.c (r_object_list_remove): Optional owner override (for parent)
* r_object_list.c: ObjectList internal functions use parent as owner of refs

* r_object_list.c (r_object_list_cleanup): Don't explicitly check object type

2010-12-12 deraj@users.sourceforge.net

* r_image_cache.c (r_image_free_texture): Do nothing when no storage type set

* r_image_cache.c: Fix initialization of default image/font

* r_defs.h: Added R_MIN and R_MAX macros

* r_video.c: Use R_MIN/R_MAX

2010-12-09 deraj@users.sourceforge.net

* r_file_system.c: Added "include" for optionally loading a file

2010-12-08 deraj@users.sourceforge.net

* r_video.c: Assume minimum texture size is 8

* r_image_cache.c: Fix composite buffer size

* r_element.c: Added "imageRegion" type name

2010-12-07 deraj@users.sourceforge.net

* r_video.c: Added Video.setTitle for setting window title

2010-12-03 deraj@users.sourceforge.net

* r_video.c: Fixed font rending (position was off)

* r_script_lib.c: Added "pow" math function

2010-12-03 deraj@users.sourceforge.net

* r_video.c: Fixed last composite element texture calculations

* r_state.h: Added "full featured" (OpenGL 1.2) flag to r_state_t
* r_state.c: Initialize "full featured" video to false
* r_video.c (r_video_set_mode): Check for OpenGL 1.2 and set flag
* r_image_cache.c: Use GL_CLAMP_TO_EDGE if available

* r_video.c: Moved core image rendering to r_video_draw_image_internal
* r_video.c: Fonts can now be rendered from composite storage

2010-12-02 deraj@users.sourceforge.net

* r_image_cache.c: Enforce minimum texture size on last composite element

* r_state.h: Texture sizes use "unsigned int"

2010-12-01 deraj@users.sourceforge.net

* r_video.c: Bug fixes to composite region calculations

2010-11-30 deraj@users.sourceforge.net

* r_element.h: r_element_image_region_t
* r_element.c: Added image region element

* r_video.c: Rendering for single-texture component storage

* r_defs.h: Added R_F_BAD_COORDINATES

2010-11-29 deraj@users.sourceforge.net

* r_image_cache.c: Added helper for creating a texture from an image region

* r_video.c: Rendering for composite images

2010-11-28 deraj@users.sourceforge.net

* r_image_cache.c: Moved actual texture creation to r_image_load_internal

* r_image_cache.h: Added native and composite image storage types

* r_state.h: Added max texture size parameter
* r_state.c: Initialize max texture size

* r_video.c (r_video_set_mode): Retrieve max OpenGL texture size

* r_defs.h: Added OpenGL error code facility
* r_video.c (r_gl_to_status): Convert OpenGL errors to status codes

* r_image_cache.c: Added row/column and other size calculations for composites

2010-11-26 deraj@users.sourceforge.net

* r_zlist.c: Actually fixed Z-List sort (smaller z implies drawn first)

2010-11-24 deraj@users.sourceforge.net

* configure.in: Updated web site
* radius-engine.pc: Updated web site

* r_script_lib.c (l_random): random() uses [0, 1] and random(n) uses [0, n)

* r_image_cache.c (r_image_load): Added support for RGB PNG images

* r_video.c: Skip drawing invisible entities/elements

2010-11-21 deraj@users.sourceforge.net

* r_script_lib.c (l_random): random now returns values on [0, 1)

2010-11-20 deraj@users.sourceforge.net

* r_video.c: Simplified lifetiem of mouse coordinate transformation
* r_event.c: Only use mouse coordinate transformation if it exists

2010-11-18 deraj@users.sourceforge.net

* configure.in: Incremented version
* r_defs.h: Incremented version

2010-11-17 deraj@users.sourceforge.net

* r_event.c: Fixed joystick count

* r_video.c (r_video_start): Set application name as window title
* r_video.h: r_video_start takes the application name
* radius.c: Pass application name to video module

2010-11-16 deraj@users.sourceforge.net

* r_matrix.h: Added r_affine_transform2d_stack_clear
* r_matrix.c: Implemented r_affine_transform2d_stack_clear

* r_video.c: Reset mouse coordinate transformation when changing video mode

* r_event.c: Added support for mouse buttons other than left, middle, right
* r_event.c: Changed name of mouse left/right/middle to mbleft/mbright/mbmiddle

* r_video.c (r_video_set_mode): Fixed mouse coordinate transformation

2010-11-15 deraj@users.sourceforge.net

* r_event.h: Added r_event_setup
* r_event.c (l_Mouse_getPosition, r_event_setup): Added mouse functions
* r_script_lib.c: Call r_event_setup

2010-09-21 deraj@users.sourceforge.net

* r_state.h: Added event_state
* r_state.c: event_state initialized to NULL

* r_layer.h: Added joystick button/axis handler field
* r_layer.c: Initialize joystick button/axis handler field

* r_event.c (r_event_start, r_event_stop): Open/close joysticks
* r_event.c: Joystick event handling

* r_video.c (r_video_start): Enable SDL joystick support

2010-09-02 deraj@users.sourceforge.net

* r_defs.h: Incremented version
* configure.in: Incremented version

2010-09-01 deraj@users.sourceforge.net

* r_audio_decoder.c: Fixed capitalization of SDL_sound.h

* r_audio.c (r_audio_callback): Removed unused variable

* r_audio_clip_manager (r_audio_clip_instance_release): Added default case

* r_audio_decoder.c: Removed unused functions

* r_vector.h: Removed const from r_vector_2d_from_homogeneous declaration
* r_vector.c (r_vector2d_from_homogeneous): Removed unsupported const

2010-08-30 deraj@users.sourceforge.net

* r_audio_clip_cache.h: Added audio state functions
* r_audio_clip_cache.c: Audio state helpers are now globals

* r_layer.c: Layers now have audio state manipulation functions

2010-08-23 deraj@users.sourceforge.net

* r_layer_stack.h: Added r_layer_stack_get_active_audio_state and
    r_layer_stack_get_active_audio_state_for_layer
* r_layer_stack.c: Implemented functions for finding active audio states
* r_event.c: Use layer stack function for finding active audio state

* r_audio_clip_cache.c: Audio state play/clear, music start/stop/seek now can
    be used globally (for the active audio state) or for a specific layer

2010-08-22 deraj@users.sourceforge.net

* r_file_internal.c (r_file_internal_close): Files are now only closed once
    (fixing a possible heap corruption issue)

* r_audio.h: Grouped global audio functions and state functions
* r_audio.c: Audio state functions now can use either a specific audio state
    or the default
* r_audio.c: Audio state internal functions assume audio state is not NULL

* r_audio_clip_cache.c: Renamed music functions and put all on Audio table

2010-08-21 deraj@users.sourceforge.net

* r_audio.c (r_audio_music_play): Ensure only one music clip plays at a time

* r_state.h: Added global music volume
* r_state.c: Music defaults to max volume (constrained by global max volume)

* r_audio.h: Added r_audio_music_set_volume
* r_audio.c (r_audio_music_set_volume): Music volume adjustment (current state)

* r_audio.c: Music functions now can be called with/without audio lock

* r_audio.c (r_audio_set_current_state): Ensure music volume is correct when
    changing audio states

* r_audio_clip_cache.c: Added Audio.Music.getVolume and Audio.Music.setVolume
* r_audio_clip_cache.c: Global/music volume now have common get/set helpers

* r_audio.h: Added r_audio_clip_instance_flags_t for looping
* r_audio.c: Propagate looping flags when creating clip instances

* r_audio_clip_cache.c: l_Audio_Music_play added optional loop argument

* r_audio_decoder.c (r_audio_decoder_process_task): Rewind for looping

* r_audio.h: Added r_audio_music_seek
* r_audio.c (r_audio_music_seek): Music seeking
* r_audio_clip_cache.c (l_Audio_Music_seek): Music seek function
* r_audio_clip_decoder.c (r_audio_decoder_schedule_seek_task): Don't lock audio

2010-08-16 deraj@users.sourceforge.net

* r_audio_callback.c: Fixed scheduling of next on-demand clip decode task
    (previously only one buffer was used, leading to occasional skipping)

* r_audio.h: Tweaked cached/on-demand buffer sizes so that the longest cached
    clip is a little less than 6 seconds, but on-demand clips have three
    buffers that total about 9 seconds
* r_audio.c (r_audio_allocate_sample): Pass in desired buffer size

* r_audio_clip_manager.h: Moved audio clip manager to its own file
* r_audio_clip_manager.c: Moved audio clip manager implementation
* r_audio.h: Removed audio clip manager
* r_audio.c: Removed audio clip manager
* Makefile.am: Added r_audio_clip_manager.h, r_audio_clip_manager.c

* r_audio.h: Replaced r_audio_clip_handle_t with a ref-counted data pointer
* r_audio.c: Use ref-counted r_audio_clip_data pointer instead of handle
* r_audio_clip_manager.h: Audio clip data pointer functions
* r_audio_clip_manager.c: Use clip data pointer list to keep track of data
* r_audio_clip_cache.h: Store a clip data pointer instead of handle
* r_audio_clip_cache.c: Use clip data pointer instead of handle

2010-08-15 deraj@users.sourceforge.net

* r_defs.h: Added RA_F_CANT_SEEK, RA_F_SEEK_ERROR
* r_audio_decoder.h: Moved task definition to implementation file
* r_audio_decoder.c: Moved task definition to implementation file

* r_audio_decoder.c: Support for multiple decoder task types

* r_audio_decoder.h: Added r_audio_decoder_schedule_seek_task
* r_audio_decoder.c: Implemented decoder seek tasks

* r_audio.h: Added IDs to clip instances
* r_audio.c: Auto-incrementing clip instance IDs

* r_audio.h: Added music play/stop functions
* r_audio.c: Implemented music play/stop
* r_audio_clip_cache.c: Added Audio.Music.play/stop

2010-08-13 deraj@users.sourceforge.net

* r_audio.c: Clip instances are now stored in an array of pointers (bug fix)
* r_audio.c: Miscellaneous fixes for on-demand clips

* r_list.h: Added r_list_steal_index
* r_list.c: r_list_steal_index implementation

* r_audio_decoder.c: Take ownership of clip instance reference from list
* r_audio_decoder.c: Shortcut decoding task if no decoding is necessary

2010-08-12 deraj@users.sourceforge.net

* r_audio_decoder.c: Decoder thread now takes r_state_t as its user data

* r_audio_decoder.c (r_audio_decoder_schedule_task): Added scheduling

* r_audio.c (r_audio_start): Moved decoder ownership to r_audio_decoder_start

2010-08-11 deraj@users.sourceforge.net

* r_audio.c (r_audio_clip_manager_t, r_audio_clip_manager_start,
    r_audio_clip_manager_end): Added lock to protect clip handles

* r_audio.c (r_audio_clip_manager_load,
    r_audio_clip_manager_duplicate_handle_internal,
    r_audio_clip_manager_release_handle_internal): Protected handle ref counts

* r_audio.h (r_audio_clip_instance_t): Added ref-counting for clip instances
* r_audio.c (r_audio_clip_instance_release, r_audio_clip_instance_add_ref,
    r_audio_state_queue_clip_internal): Ref-counting for clip instances

* r_audio.c (r_audio_start, r_audio_end): Start/stop decoder

* r_state.h: Added audio_decoder field
* r_state.c: Initialize audio_decoder

* r_defs.h: Added new audio decoding error codes

* r_audio_decoder.c: Implemented decoding task processing

2010-08-10 deraj@users.sourceforge.net

* r_list.c (r_list_get_count): Added list count getter

* Makefile.am: Added r_audio_decoder.h, r_audio_decoder.c

* r_audio_decoder.h: Initial audio decoder interface
* r_audio_decoder.c: Partial implementation of audio decoder

2010-08-08 deraj@users.sourceforge.net

* r_defs.hn: Incremented version
* configure.in: Incremented version

* r_file_internal.c (r_file_internal_write): Use platform newline for files

* r_file_system.h: Decreased max path length to 256 (including NULL) for Linux

* r_platform_defs.h: Added platform definition files
* Makefile.am: Added all three platform definition files
* r_defs.h: Include platform definitions (e.g. R_INLINE)

* r_platform_defs_windows.h: Defined R_INLINE
* r_platform_defs_unix.h: Defined R_INLINE

* r_event.h (r_event_get_time_difference): Inlined
* r_matrix.h: Inlined transformation functions
* r_object_ref.h (r_object_ref_init): Inlined
* r_vector.h (r_vector2d_from_homogeneous): Inlined, first parameter const
* r_vector.c (r_vector2d_from_homogeneous): Inlined, first parameter const
* r_video.c (r_video_color_blend): Inlined
* r_script_lib.c (l_mathFunction): Inlined
* r_zlist.c (r_zlist_sort_insert): Inlined

* r_event.h: r_event_get_current_time is no longer global
* r_event.c (r_event_get_current_time): Inlined

* r_script.h: R_SCRIPT_ENTER/EXIT now do nothing on release builds

2010-08-01 deraj@users.sourceforge.net

* r_audio_clip_cache.c (l_Audio_play): Audio.play persistently caches sounds
* r_audio.c (r_audio_clip_manager_release_handle_internal): Added comment

* r_log.h: Definitions for r_log_file_start, r_log_file_end, r_log_file_log
* r_log.c: Added r_log_file_start, r_log_file_end, r_log_file_log for logging
* r_state.h: Added log file state
* r_state.c: Initialize log file state
* radius.c: Log file now started after setting up file system

* r_platform.h: Added platform-dependent newline string
* r_platform_windows.h: Newline: "\r\n"
* r_platform_unix.h: Newline: "\n"

* r_defs.h: Added R_S_STOP_ENUMERATION for "for each" style callbacks

* r_layer.h: Added propagate_audio flag
* r_layer.c: propagateAudio field
* r_event.c (r_event_detect_active_layer): Use top non-propagating audio state

* r_layer_stack.h: Added generic looping over layer stack
* r_layer_stack.c (r_layer_stack_process): Implementation of generic looping

* r_log.c (r_log_file_log): Flush log file after each write
* r_script_lib.c (l_debugBreak): Write call stack to log

2010-07-31 deraj@users.sourceforge.net

* r_list.c (R_LIST_ITEM): Fixed item offset macro

* r_list.c (r_list_add): Fixed initialization of larger array
* r_object_list.c (r_object_list_add): Fixed initialization of larger array
* r_object_list.h: Added TODO to merge r_list and r_object_list code

* r_object.c (l_Object_metatable_gc): Fixed type comparison for cleaning up

2010-07-22 deraj@users.sourceforge.net

* r_element.h: Element type enumeration now starts at zero
* r_element.c: Element type is now available to scripts

2010-07-18 deraj@users.sourceforge.net

* r_color.c: Added Color.clone to duplicate color objects

* r_defs.h: Incremented version

2010-07-17 deraj@users.sourceforge.net

* Makefile.am: Source files are now listed one per line

* r_audio.c: Fixed compiler warnings
* r_audio_clip_cache.c: Fixed compiler warnings
* r_color.c: Fixed compiler warnings
* r_element.c: Fixed compiler warnings
* r_element_list.c: Fixed compiler warnings
* r_entity.c: Fixed compiler warnings
* r_entity_list.c: Fixed compiler warnings
* r_event.c: Fixed compiler warnings
* r_event.h: Moved r_event_get_time_difference to r_event.c
* r_file.c: Fixed compiler warnings
* r_file_system.c: Fixed compiler warnings
* r_image_cache.c: Fixed compiler warnings
* r_layer.c: Fixed compiler warnings
* r_layer_stack.c: Fixed compiler warnings
* r_matrix.c: Fixed compiler warnings
* r_object.c: Fixed compiler warnings
* r_object_list.c: Fixed compiler warnings
* r_resource_cache.c: Fixed compiler warnings
* r_script_lib.c: Fixed compiler warnings
* r_string_buffer.c: Fixed compiler warnings
* r_video.c: Fixed compiler warnings
* r_zlist.c: Removed unused code

2010-07-14 deraj@users.sourceforge.net

* r_object_list.c (r_object_list_clear): Only clear items if count > 0
* r_object_list.c (r_object_list_clear): Avoid underflow of i by testing count

* r_defs.h: Modified R_SUCCEEDED/R_FAILED to not depend on enum size/signedness

2010-07-13 deraj@users.sourceforge.net

* Makefile.am: (Linux build) Added Automake makefile
* acinclude.m4: (Linux build) Added M4 macros for Autoconf
* configure.in: (Linux build) Added Autoconf template
* radius-engine.pc.in: (Linux build) Added pkg-config template

* r_platform.c: Removed unnecessary header

* radius.h: Incremented version

* r_platform_unix: Initial platform-specific functions for UNIX-like OS

* acinclude.m4: Fixed capitalization of SDL_sound

* acinclude.m4: AM_PATH_LUA uses pkg-config now

* r_image_cache.c: Protected OpenGL calls before OpenGL context is set

2010-07-03 deraj@users.sourceforge.net

* r_file_system.h: r_file_system_setup_script sets up script functions
* r_file_system.c: File system script functions are set up separately

* r_file_system.c (r_file_system_start): stdout/stderr are reopened on Windows

* r_platform.h: Added r_platform_setup_output for preparing output
* r_platform_windows.h: stdout/stderr are redirected to user profile

* radius.c (radius_execute_internal): Base file system is now initialized first

2010-06-28 deraj@users.sourceforge.net

* r_state.h: Added audio_volume field to r_state_t
* r_state.c: Audio volume defaults to 0 (no audio)

* r_audio.c (r_audio_callback): Respect global audio volume

* r_audio.h: Added r_audio_set_volume for setting audio volume
* r_audio.c: Implemented r_audio_set_volume
* r_audio_clip_cache.c: Added Audio.setVolume function

* r_audio_clip_cache.c: Added Audio.getVolume function

* r_audio.c (r_audio_clip_data_free_internal): Ignore frees of empty clips

2010-06-27 deraj@users.sourceforge.net

* All: Applied MIT License to engine code

2010-06-20 deraj@users.sourceforge.net

* r_audio.c: Read/write wrappers return count even if less than requested

2010-06-19 deraj@users.sourceforge.net

* r_state.h: Added audio data pointer to r_state_t
* r_state.c: Initialize audio data pointer to NULL
* r_audio.h: Added function to set current audio state
* r_audio.c: Queueing clips now uses the active state

* r_layer.h: Added audio state to r_layer_t
* r_layer.c: Initialization and cleanup of audio state
* r_event.c: Current audio state is now set when layers are pushed/popped

* r_audio.h: Audio state clearing function
* r_audio.c: Implemented clear function
* r_audio_clip_cache.c: Moved playSound to Audio.play and added Audio.clear

* r_list.c: r_list_clear now sets the item count back to zero

* r_script.h: Added optional argument support to script argument verification
* r_script.c: Implemented r_script_verify_arguments_with_optional

* r_audio.h: Added constants for position extremes
* r_audio.c: Implemented volume and left-right fading
* r_audio_clip_cache.c: Audio.play can now accept volume and position

2010-06-10 deraj@users.sourceforge.net

* r_list.h: List element manipulation functions now accept r_state_t pointer
* r_list.c: Add r_state_t pointer
* r_object_list.c: Add r_state_t pointer

* r_audio.h: Clip instances now hold only a handle to the clip data
* r_audio.c: Clip instances use a handle

2010-06-06 deraj@users.sourceforge.net

* r_list.c: Fixed bug in list initialization

* r_audio.c: Audio clip manager initialization code is now called

* r_audio.c: Clip instances are removed from the audio state once complete

2010-06-04 deraj@users.sourceforge.net

* r_audio_clip_cache.h: Initial audio clip cache definition
* r_audio_clip_cache.c: Audio clip cache implementation

* r_audio.c: Fixed seek implementation

2010-06-01 deraj@users.sourceforge.net

* r_audio.c: Added private audio clip store

* r_audio.c: Started SDL_RWops implementation for PhysicsFS

2010-05-31 deraj@users.sourceforge.net

* r_image_cache.h: Image type is now an object
* r_image_cache.c: Refactored images as objects so that lifetimes are managed

* r_object.h: Field read/write functions supply object
* r_object.c: Field read/write functions supply object

* r_object.h: r_object_push_new declaration
* r_object.c: Added r_object_push_new for creating objects from C

* r_script.h: Added macros for tracking script stack invariants
* r_script.c: Fixed node registration to not modify script stack
* r_object.c: Added script stack invariants to object functions

* r_image_cache.c: Added persistent table to image cache

* r_script_lib.c: Added garbageCollect for running garbage collector

* r_resource_cache.h: Generic resource cache definition
* r_resource_cache.c: Generic resource cache implementation
* r_image_cache.c: Refactored image cache to use generic resource cache

2010-05-29 deraj@users.sourceforge.net

* r_audio.h: Moved audio clip instance list inside r_audio.
* r_audio.c: Moved audio clip instance list inside r_audio.

* r_image_cache.c: Use a reference for image cache instead of registry

2010-05-19 deraj@users.sourceforge.net

* r_audio_clip_instance_list.h: Simple growable list for audio clip instances
* r_audio_clip_instance_list.c: Audio clip instance list implementation

2010-05-17 deraj@users.sourceforge.net

* r_audio.h: Initial audio structures defined

* r_list.h: Generic list utility type
* r_list.c: Generic growable list implementation

2010-05-16 deraj@users.sourceforge.net

* r_audio.h: Added initial audio subsystem interface
* r_audio.c: Initial audio implementation
* r_defs.h: Added audio status codes
* radius.c: Added audio initialization for applications

* r_defs.h: Fixed script facility code

2010-04-04 deraj@users.sourceforge.net

* r_image_cache.c: Added additional error context
* r_video.c: Added additional error context

2010-03-26 deraj@users.sourceforge.net

* r_image_cache.c (r_image_cache_start): Default font is loaded when the image
    cache is started (ensuring the default font exists before it is assigned
    in an element initializer)

* r_string_buffer.c (r_string_buffer_clear): Length is now reset to zero when
    cleared (before this, the string appeared to always be empty after
    clearing--even if appended to later)

2010-03-24 deraj@users.sourceforge.net

* Utility\Input.lua: Initial logical/customizable input support

2010-03-22 deraj@users.sourceforge.net

* r_script_lib.c (l_Table_forEach): Implemented for-each table function

2009-12-31 deraj@users.sourceforge.net

* r_state.h: r_state_t can now be created on the stack
* r_state.c: r_state_t stack-allocated implentation
* radius.c: Main r_state_t is now allocated on the stack

* radius.c: Application-based initialization
* r_file_system.h: Application-specific path creation prototypes
* r_file_system.c: Application-specific path implementation

* r_defs.h: Platform definitions
* r_platform.h: Platform-specific prototypes
* r_platform.c: Platform-specific implementation selector
* r_platform_windows.h: Windows platform-specific implementation

* r_string.c (r_string_format_allocate): Format as a newly-allocated string

* r_defs.h: Status codes are now defined in an enumeration

2009-12-30 deraj@users.sourceforge.net

* r_script.c (r_script_verify_arguments): Expected argument array may be NULL if
                                          no arguments are expected

* r_video.h: Prototypes for video functions for scripts
* r_video.c: Video functions available to scripts

* r_script_lib.c (l_dump): Dump function now dumps all arguments

* r_image_cache.h: Images are now pointers to image-related data (currently
                   just the texture ID--which may change as textures on reload)
* r_image_cache.c: All images are reloaded properly when changing video modes

* r_video.c (r_video_draw_element): Update to use new image data

* r_video.c (r_video_set_mode): Input is "un-grabbed" when switching out of
                                fullscreen

* r_video.c: Video mode get functions split up

* r_video.c (r_video_draw, r_video_set_mode): Error on draw with no mode set

* radius.c (main): No video mode is set by default

* radius.h: New library entry point
* radius.c: New library entry point implementation

2009-12-29 deraj@users.sourceforge.net

* r_file_system.h: Moved file system setup to new file
* r_file_system.c: File system interface implementation

* r_file_internal.h: Internal file wrapper
* r_file_internal.c: Implementation of native file wrapper

* r_file.h: Initial file object definition
* r_file.c: Initial file object implementation

2009-12-28 deraj@users.sourceforge.net

* r_file.h: File system initialization uses a user-specific write directory
* r_file.c: Write directory prepended to search path

* radius.c: Temporary user directory added for testing

* r_defs.h: Added generic file system error code

* r_file.h: Added file wrapper
* r_file.c: Initial file wrapper implementation

2009-12-20 deraj@users.sourceforge.net

* r_layer.h: Added error handler to layer definition
* r_layer.c: Error handler definition and initialization

* r_script.c: Errors are now propagated to active layer error handler

2009-12-13 deraj@users.sourceforge.net

* r_object_enum.h: Definition of named enumerations
* r_object_enum.c: Named enumerations for object fields

* r_element.h: Alignment enumerated values
* r_element.c: Alignment field read/write

2009-12-11 deraj@users.sourceforge.net

* r_script_lib.c: Refactored math functions

* r_script_lib.c: Added min/max aggregation functions

2009-12-09 deraj@users.sourceforge.net

* r_script_lib.c (l_isType): Re-wrote type-checking functions

2009-12-08 deraj@users.sourceforge.net

* r_string.h: String utility function header
* r_string.c: String formatting functions

* r_log.c: Finalized dump function

* r_object_list (r_object_list_clear): Fixed bug in clearing object lists

2009-12-07 deraj@users.sourceforge.net

* r_log.h: Formatted logging functions
* r_log.c: Added formatted logging functions

2009-12-06 deraj@users.sourceforge.net

* r_log.c: Fixed stack management of logging function

* r_script_lib.c (l_dump): Initial implementation of more useful dump function

2009-11-30 deraj@users.sourceforge.net

* r_object_list.c (r_object_list_remove): Fixed bug where previously-existing
        references could be erroneously released, leading to duplicates

2009-11-29 deraj@users.sourceforge.net

* r_entity.c (r_entity_update): Children are now updated before their parent

* r_zlist.c (r_zlist_sort_insert): ZLists are now properly sorted according
                                   to the coordinate system

* r_script_lib.c (l_debugBreak): Added call stack logging

2009-11-28 deraj@users.sourceforge.net

* r_object_list.h: Object list find/remove/clear prototypes
* r_object_list.c: Implemented object list find/remove/clear

* r_object_ref.c: Added global override option for read functions

* All: Objects now use global read value override for returning fixed functions

* r_object_list.c: Fixed a bug in object list remove

2009-11-26 deraj@users.sourceforge.net

* Data\Main.lua: Initial work on example game

2009-11-24 deraj@users.sourceforge.net

* Data\Console.lua: Mostly-functional console

2009-11-21 deraj@users.sourceforge.net

* r_element.c: Text element can now specify an underlying string buffer
* r_video.c: Text elements can use characters from a string or a string buffer

* r_entity_list.c: Entity list objects now have an updated function

* r_entity.c: Consolidated entity update function code

* r_entity.c: Entities can now have children entities

* r_script.c: Added generic "node" type for registering tables/functions

* All: Streamlined setup/registration to use nodes

* r_script_lib.c: Renamed global logging entry point to "messageLogged"

* r_video.c: Color blending/unblending

2009-11-20 deraj@users.sourceforge.net

* r_image_cache.c: Added default font loading

* r_element.c: Switched around order of parameters

* All: Renamed wrappers to objects

* All: Rawset/rawget are now used where possible

2009-11-19 deraj@users.sourceforge.net

* r_script.c (r_script_verify_arguments): Added generic function for verifying script
                                          function arguments

* r_string_buffer.c: Added insert and clear functions to string buffers

2009-11-17 deraj@users.sourceforge.net

* r_script_lib.c: Moved logging hook into r_script_lib.c

* r_script_lib.c: Added execute function

* Data\Main.lua: Added ring buffer for output

* Data\Main.lua: Implemented more useful text editing capabilities

2009-11-16 deraj@users.sourceforge.net

* r_log.h: Log function prototype
* r_log.c: Logging functions can now be added

* r_script.c: Logging is now exposed to scripts

2009-11-15 deraj@users.sourceforge.net

* All: Renamed "register_functions" to "setup" to better reflect purpose

* r_wrapper.h: Wrapper header now contains an "extensible" flag
* r_wrapper.c: Wrappers can now be extensible and store additional values in
               their environment table

* r_string_buffer.h: String buffer definition
* r_string_buffer.c: String buffer implementation

2009-11-14 deraj@users.sourceforge.net

* r_wrapper.h: Global references are no longer separated
* r_wrapper.c: Writing references to wrappers does not require script type

* r_wrapper_ref.h: Separated wrapper reference code from wrappers
* r_wrapper_ref.c: Wrapper ref implementation separated from wrappers

2009-11-10 deraj@users.sourceforge.net

* r_wrapper.h: Wrappers now carry an ID that links to their value
* r_wrapper.c: Wrappers can push values based on an ID

2009-11-08 deraj@users.sourceforge.net

* r_wrapper.c: Added wrapper pointer-to-script value table

* All: Removed unnecessary plumbing of wrapper index positions

2009-11-07 deraj@users.sourceforge.net

* r_layer_stack.c: Fixed active layer push function

* r_wrapper.h: Added default initializer to field definition

* r_wrapper.c: Wrapper default initialization function

* r_event.c: Replaced old event handling code

* r_video.c: Layer rendering

* All: Removed old "rs_" nomenclature

2009-11-06 deraj@users.sourceforge.net

* r_wrapper_list.h: Moved wrapper ref swap function to wrapper list

* r_wrapper_list.c: Added pop function for wrapper lists

* r_layer_stack.h: Layer stack definition
* r_layer_stack.c: Initial layer stack implementation using wrapper lists

* r_layer.c: Initial layer implementation

2009-11-05 deraj@users.sourceforge.net

* r_wrapper.h: Added wrapper processing functions to wrapper header

* r_wrapper.c: An argument processing function can be used to initialize
               wrappers

* r_element_list.c: Element lists can now be initialized with a set of
                    elelments

* r_entity.h: Entity definition
* r_entity.c: Initial entity implementation

* r_entity_list.h: Entity list definition
* r_entity_list.c: Entity list implementation

* r_wrapper_list.h: Generic wrapper list definition
* r_wrapper_list.c: Generic wrapper list implementation

* r_zlist.h: ZLists are now wrapper lists
* r_zlist.c: ZLists share code with wrapper lists

2009-11-04 deraj@users.sourceforge.net

* r_zlist.c (r_zlist_sort_insert): Fixed insertion/sort

* r_element_list.c: Completed initial element list implementation

2009-11-03 deraj@users.sourceforge.net

* r_wrapper.c: Wrapper references can now use either a host wrapper's
               environment table or the registry table

* r_script_lib.c: Moved script function registration to implementation files

* r_wrapper.c (r_wrapper_ref_write_internal): Script type conversion now
                                              inferred from script type

* r_wrapper.h (r_wrapper_ref_t): Wrapper type no longer included in each ref

2009-11-02 deraj@users.sourceforge.net

* r_wrapper.h: Initial wrapper cleanup prototype

* r_wrapper.h: Wrapper headers/templates are now shared

* r_wrapper.c: Removed wrapper reference template

* r_zlist.c: Removed ZList template

* r_zlist.c (r_zlist_add): ZLists now write read/write references using the
                           same code as wrapper refs

2009-11-01 deraj@users.sourceforge.net

* r_element_list.h: Element list definition
* r_element_list.c: Initial element list implementation

* r_wrapper.h: Wrapper template struct
* r_wrapper.c: Wrappers now initialized with template struct

* r_wrapper.c (rs_wrapper_field_read_internal,
               rs_wrapper_field_write_internal): Consolidated reference type
                                                 read/write code

* r_script.c (r_script_call): Error handler index is no longer supported

2009-10-31 deraj@users.sourceforge.net

* r_zlist.c: Implemented insertion sort for ZLists

2009-10-29 deraj@users.sourceforge.net

* r_wrapper.c: Implemented function references for wrappers

* r_zlist.h: Initial ZList types
* r_zlist.c: Initial work on ZList adding

2009-10-27 deraj@users.sourceforge.net

* r_wrapper.c: String and wrapper references now use an environment table
               instead of the global registry table to enable garbage
               collection

2009-10-22 deraj@users.sourceforge.net

* r_video.c (rs_video_draw_element): Cleaned up element rendering

* r_element.h: Most element data is now shared

2009-10-21 deraj@users.sourceforge.net

* r_video.h: Font coordinate type
* r_video_font.c: Font texture coordinate table

2009-10-20 deraj@users.sourceforge.net

* r_image_cache.h: Prototypes for image field reading/writing
* r_image_cache.c (r_wrapper_field_image_read, r_wrapper_field_image_write):
    Generic image field reading/writing

* r_wrapper.h: Wrapper string (including reference)
* r_wrapper.c (rs_wrapper_field_read_internal,
    rs_wrapper_field_write_internal): String reading/writing for wrappers

2009-10-19 deraj@users.sourceforge.net

* r_element.c (r_wrapper_field_image_write): Image field writing

* r_image_cache.c (r_image_cache_load_default_images): Default image init
* r_video.c (r_video_set_mode): Create default image after setting video mode

* r_wrapper.c (l_Wrapper_metatable_newindex): Wrapper field writing

*r_wrapper.c (rs_wrapper_field_write_internal): Nil is allowed for wrappers

2009-10-18 deraj@users.sourceforge.net

* r_wrapper.c (l_Wrapper_new): Generic wrapper type constructor

2009-10-17 deraj@users.sourceforge.net

* r_wrapper.c: Implemented field reader for wrapped structures

* r_script.c: Miscellaneous debugging functions

2009-10-16 deraj@users.sourceforge.net

* rc.c: Updated console application to conform to the rest of the code

* r_wrapper.h: New wrapper type definitions
* r_wrapper.c: Implemented userdata wrapper field read/write support

2009-10-14 deraj@users.sourceforge.net

* r_video.c (l_drawElement): Initial take on texture coordinates for elements

2009-10-13 deraj@users.sourceforge.net

* r_image_cache.c (rs_image_cache_load): Updated image loading to use physfs
                                         and libpng to load images

2009-10-05 deraj@users.sourceforge.net

* r_image_cache.c: Fixed image cache implementation and added fake checkered
                   image for testing
                   
* r_video.c (l_drawElement): Revised element drawing to only use rectangular
                             images

2009-10-04 deraj@users.sourceforge.net

* r_image_cache.h: Initial image cache interface
* r_image_cache.c: Implemented image cache (except for image loading)

2009-10-03 deraj@users.sourceforge.net

* All: Completed main code cleanup work

* All: Normalized all typedefs to have "_t" suffix

2009-10-03 deraj@users.sourceforge.net

* All: More script isolation

2009-10-02 deraj@users.sourceforge.net

* All: Started isolating code that interfaces with scripts

2009-10-01 deraj@users.sourceforge.net

* All: Updated most syntax

2008-04-22 deraj@users.sourceforge.net

* r_video.c (l_drawElement): Fixed bug where color didn't revert after drawing
* r_video.c (l_drawEntity): Fixed bug where rotates were about the wrong axis

2008-04-21 deraj@users.sourceforge.net

* radius.c (main): Lua file names are now capitalized correctly

* ZList.lua (ZListRemove): Fixed remove function to not loop indefinitely

* EntityList.lua: Added new EntityList type for lists of entities
* Main.lua: Updated to use new EntityList type and remove entities

* r_state_t.c (r_state_new): rand() is initialized with the current time
* r_script_lib.c (l_random): Added random number generator function

2008-04-20 deraj@users.sourceforge.net

* r_video.c: Entities can now specify their overall color

2008-04-16 deraj@users.sourceforge.net

* r_video.c (l_drawElement): More points can be drawn for polygons than just 4

* main.lua: Started work on a proof-of-concept untextured console

2008-04-15 deraj@users.sourceforge.net

* r_event.c: Layer update function now pushes the layer as the first argument

* r_video.c (l_drawElement):  Rotation is applied before scaling
(l_drawElement): Element colors are now applied

* r_color_lib.h: Added color object interface
* r_color_lib.c: Added color object interface

* main.lua: Implemented white box test entity using update function

2008-04-14 deraj@users.sourceforge.net

* Makefile.am: Added entity script interface
* r_entity_lib.h: Added entity script interface
* r_entity_lib.c: Implemented dimension retrieval for entities

* r_video.c: Entity drawing

2008-04-06 deraj@users.sourceforge.net

* color.lua: Color type
* size.lua: Size type
* point.lua: Point type
* polygon.lua: Polygon type

* r_event.c: Times are now stored per layer
(r_event_main_loop): Frame rates or minimal rates may be specified
* r_layer_lib: Times are now stored per layer

2008-04-05 deraj@users.sourceforge.net

* r_layer_lib.h: Moved layer interface headers
* r_layer_lib.c: Layer interface

* r_event.c: Moved some utility functions to r_layer_lib
(r_event_get_desired_frame_period_ms): Layer-settable frame period

* zlist.lua: Z-sorted list implementation

* r_video.c: SDL timer facilities are now initialized

2008-04-04 deraj@users.sourceforge.net

* r_matrix.h: Added affine transformation types types/functions
* r_matrix.c: Matrix multiply, affine transformations

* r_defs.h: Generic definitions header
* r_vector.h: Moved real number representation into main header

* r_video.c: Added temporary coordinate mapping
(r_video_set_mode): Vertical coordinates are now defined for all layers
* r_event.c: Added temporary coordinate mapping for mouse events

* radius-tmp.c: Test program that should be removed at some point
(main) Added small testing program for debugging problems with matrices

* Makefile.am: Updated for new modules

* layer.lua: Initial layer definition

* r_script.h: Added call or log error function
* r_script.c (r_script_call): Added call that logs an error on error

2008-04-03 deraj@users.sourceforge.net

* r_vector.h: Vector types/functions header
* r_vector.c: Homogeneous conversion functions

* r_matrix.h: Matrix types/functions header

2008-04-01 deraj@users.sourceforge.net

* r_event.c (r_event_handle_mouse_button_event): Mouse button support
(r_event_handle_mouse_motion_event): Mouse motion support
(r_event_loop): Mouse button event support
(r_event_loop): Clicking the window close button now exits

* main.lua: Tested mouse button/motion event support

* keys.lua: Keyboard event handler setup
* mouse.lua: Mouse button event handler setup

2008-03-31 deraj@users.sourceforge.net

* r_event.c (r_event_end): Specific event handler registration not needed
(r_event_start): Specific event handler registration not needed
(r_event_handle_key_event): Generic KeyboardEvent handler is now used
instead of many separate hard-coded event handlers

* main.lua: Switched to new unified key event handling

* Makefile.am: Added r_script_lib.c and r_script_lib.h

* r_script_lib.h: Added scripting utility functions header
* r_script_lib.c: Added scripting utility functions
(check_type): Helper function for verifying types
(r_script_register_functions): Register type-checking functions

2008-03-28 deraj@users.sourceforge.net

* radius.c (main): Nested init code so that cleanup only appears once

2008-03-24 deraj@users.sourceforge.net

* Makefile.am: Added r_event_keys.h and r_event_keys.c

* r_event_keys.h: Header for key names
* r_event_keys.c: Initialization and retrieval of key names

* r_event.h: Noted that main loop should only be called once, added init/deinit
* r_event.c: Keys are initialized in r_event_loop
(r_event_start): Event initialization
(r_event_end): Event deinitialization
(r_event_handle_key_event): Call key press/release event handlers

* radius.c (main): Initialize events, deinitialize video
(main): print out error on failure to run main.lua

* main.lua: Example key event handlers

2008-03-23 deraj@users.sourceforge.net

* Makefile.am: radius-console doesn't use SDL/OpenGL/libpng
(radius): Added graphical application radius
* configure.in: Added libpng support
* configure.in: Separate variables defined for SDL/OpenGL/libpng use

* radius-console.c (main): Replaced free() with r_state_free() as it should be
(defines): Increased input buffer size to 1024 characters

* r_script.h: R_LUA_ENV_STATE changed to RS_ENV_STATE
(r_script_get_state): Renamed l_get_rs to r_script_get_state
* r_script.c: R_LUA_ENV_STATE changed to RS_ENV_STATE

* r_file_lib.c: Added require() script function for loading required scripts
(r_file_reader): Added text block reader function and arguments structure
(r_file_load_script): Helper for loading a script

* radius.c: Added graphical application

* r_video.h: Video module
* r_video.c: Video module

* r_event.h: Input/event loop module
* r_event.c: F12 exits the graphical application

2008-03-20 deraj@users.sourceforge.net

* r_script.h: Added rs_script_started
* r_script.c (rs_script_started): Added test for scripting started

* r_file.c (r_file_start): File module registers function if scripting is on
* r_file.c (r_file_start): Automatically load zip files in the root directory
* r_file.c (r_file_start): Added root directory parameter

* radius-console.c (main): Added R_ROOT_DATA_DIR for data directory root

2008-03-19 deraj@users.sourceforge.net

* r_file.h: Header for file system interactions
* r_file.c: Added file system start/stop

* r_file_lib.h: Header for file system functions available to scripts
* r_file_lib.c: Added "ls" function for listing files in the file system

* radius-console.c: Added support for the file system module

* r_log_lib.c: Logging functions available to scripts
* r_log_lib.y: Header for logging functions available to scripts

* Makefile.am (radius_console_SOURCES): Moved files around

2008-03-18 deraj@users.sourceforge.net

* r_file_system.h: Created file system header
* r_file_system.c: Skeleton file system source

* Makefile.am (radius_console_SOURCES): Added file system files

* configure.in: Added tests for PhysicsFS

2008-03-17 deraj@users.sourceforge.net

* r_lua_lib.h: Functions available to Lua scripts
* r_lua_lib.c (r_lua_register_functions): Function to register functions in Lua
(l_print): Print strings out

* r_log.h: Created logging function header file
* r_log.c (r_log, r_log_error): Implemented initial logging functions

* r_lua.h: Created Lua interactions header file
* r_lua.c (l_panic, r_lua_start, r_lua_end): Added basic Lua functions
(r_lua_set_error_return_point): Lua panic function

* radius.h: Moved constants to more appropriate headers

* radius-console.c (main): Modified Lua interpreter to use modular functions,

* Makefile.am (radius_console_SOURCES): Added r_lua.c, r_lua.h, r_log.c
(radius_console_SOURCES): r_log.h, r_lua_lib.c, r_lua_lib.h
(bin_PROGRAMS): Renamed radius-test radius-console

2008-03-16 deraj@users.sourceforge.net

* radius.h: Added a bunch of generic constants
* radius.h: Added constants for the Lua interpreter

* radius-test.c (main): Initial Lua interpreter

* configure.in: Added test for Lua header