Release | Full Source | Patch | Obsoleted |
---|---|---|---|
0.9.13 | space-0.9.13.tar.gz | 0.9.12 -> patch-0.9.13.gz | patch-0.9.14 |
Patch 0.9.13 ============ + Fixed energy allocation bug. Previously, allocations of huge energy amounts would overflow an int counter used to check the total allocation against the allocated energy. Thanks to Hans for prodding me again on this. + Corrected the return type from the distance function to be range_t. A few related type changes in the code. + Completed the weapons lock/unlock/abort message set. I also created EV_LOCK_ABORTED, EV_ENEMY_LOCK_ABORTED, EV_ENEMY_LOCK_ACHIEVED events as part of this update. + Added EV_TIMER events. This implementation creates timer lists for each space. Timers are created using the add_timer spacecall, and an optional soft-code id string is stored with the event. Single shot, multi-shot, and repeating events can be setup. Each space object can have multiple event timers active. A del_timer spacecall can delete all the timers for the object, or any that match a given id string. add_timer(first interval, other invervals, repeat, id) The id can be an empty string. The repeat count can be 0, which indicates a timer that repeats forever (until it is removed) del_timer(id) The id can be an empty string, which will remove all the timers for the object. EV_TIMER is called with 'id' as the first parameter, and the number of times that the timer has been triggered in the second parameter. + Added an optional 'run_cycle(space)' spacecall for using PSE with turn based games. You need to uncomment the appropriate #define in spaceconf.h. Note: there are 6 cycles to a complete turn, and the spacecall only sets a flag which is tested every second. Expected use: Add a 'control' object to each space, and set a repeating timer on it. The EV_TIMER event is called before the main cycle update code, so you can use it to issue all the spacecalls that you queued up in the last turn. run_cycle(space) Space can be -1 to indicate all spaces, or just an individual space.
Standard installation instructions apply.
CHANGES | 61 ++++ docs-src/src/events-combat.body | 6 docs-src/src/events-misc.body | 7 docs-src/src/sc/add_timer | 9 docs-src/src/sc/del_timer | 5 docs-src/src/sc/run_cycle | 6 src/comm.c | 2 src/commands.c | 96 +++++-!! src/damage.c | 2 src/dbint.h | 8 src/eng.c | 28 !! src/events.c | 18 ! src/nav.c | 6 src/object.c | 111 !!!!!!!! src/sensors.c | 24 ! src/shields.c | 27 ! src/smain.c | 386 ++++++++++++++++++++!!!!!!!!!! src/smisc.c | 10 src/smisc.h | 2 src/space.h | 22 + src/spaceconf.h | 8 src/tactical.c | 290 !!!!!!!!!!!!!!!!!!!!!! src/version.h | 2 23 files changed, 450 insertions(+), 4 deletions(-), 682 modifications(!)
This code is provided as a development release. Not all of the functionality noted in the documentation may be present, and correct operation of the included components is not guaranteed. Caveat Emptor.