Changes from Chuckles Space to Portable Space Engine v0.5:
----------------------------------------------------------
- Some bug fixes and code improvements.
- Attribute names have been made more readable.
- Templates are now stored in the database as ship object parent as ship object parents. Ship objects now contain all relevant ship information.
- Both ST_DOCKED_AT and ST_STARTPOS are written when a ship docks.
Changes from v0.5 to v0.7
-------------------------
- Huge changes to the way space objects are designed. Much is now possible!
- Planet transporter range now taken from CF_XPORT_RANGE.
- Starbase rotation is now handled through the softcoded heading attributes
(see the building guide).
- Ships no longer turn instantaneously.
- Watches, autopilot, and sensor nets have been removed. In a later version
they may be added back into the engine in some form. If you need these
features, it should be possible to softcode them.
- Ships can now dock with anything with a docking bay, provided that they
aren't too big.
- Photons can now have customized names, set in CF_TORP_NAME.
- The number of spaces is now only limited by SPACE_LIMIT. Everything above
0 is a sim space.
- Communications console *greatly* simplified. A new communications engine
will appear sometime in the 0.9 series.
- The SPACE flag no longer needs to be set on space objects, only objects that
use spacecall().
Patch v0.7.1
------------
- Many bugs fixed.
- "Door size" added to spec listing.
- Added CAN_MOVE flag, to speed up the handling of immobile objects.
Patch v0.7.2
------------
- Fixed several bugs and cleaned up some code.
- Added flags: PLANET, MAN_DIR, CAN_LAND
- Removed flags: CAN_LAND_ON, MAN_SPEED, MAN_HEADING
- Added landing and orbiting support.
- Added has_obj_flag, has_ship_flag, rel_pos syscalls. Renamed nav_bearing to
pos; now returns cartesian coordinates.
- CONTACT_INFO_STRING can now appear on any object. If it is blank, the
object name will be used.
Patch v0.7.3
------------
- Fixed several bugs while working on the engine's manual.
Patch v0.7.4
------------
- Bugs fixed, some code cleaned up.
- Added support for transporters.
- Added lock_space spacecall.
- Added list_containers function. This lists the dbrefs of the objects whose
critical ranges the caller is in. Useful for reporting such things as
"The ship is currently in an asteroid belt."
- Fixed a bug with huge objects sensing themselves. Huge objects can now
be invisible, but not hazy or cloaked. (These flags have no effect.)
- Added EV_ORBITING, EV_ORBITED, EV_ORBITING_OTHER.
- Added delayed cloak.
- CF_DOOR_STATUS added for consistency with CF_CLOAK_STATUS. HAS_DOORS flag
has been removed.
- Added support for multiple torp reloaders. This is set with
CF_TORP_RELOADERS.
Patch v0.7.5
------------
- Fixed a few bugs.
- Added new EXPERIMENTAL torpedo code! helm_fire_torp spacecall has been
modified to helm_fire_torp(torp #, bearing, +/-, elevation). If not firing
with specified bearing/elevation, "NONE" should appear as the second argument.
Patch v0.7.6
------------
- Logging now only occurs in real space.
- Added area-effect damage spacecall explosion(space, x, y, z, base damage).
- Event EV_TAKE_DAMAGE modified. Second argument is now the type of damage.
0 = gun, 1 = torp, 2 = explosion. It no longer passes the shooter's
identity (use EV_ATTACKED for that).
- New event EV_INT_EXPLOSION, triggered when an explosion occurs within the
critical range. Argument is the amount of damage.
- EV_LOW_POWER is now triggered when reactor output drops below 5% of max (no
arguments).
- Added drain_reactor syscall, which drains a given amount of power from the
reactor. EV_REACTOR_DRAIN is triggered on the ship when this happens (no
arguments).
- Added EXPERIMENTAL tractor beam system!
- Both transporters and tractor beams can now be damaged.
- Fixed a really annoying rounding error which caused ships not to move at
warp 1.0. Apparently this plagued TNG for a while.
Patch v0.7.7
------------
- Many bugs fixed.
- Dock's facing shield must be lowered before ship can dock.
Patch v0.7.8
------------
- A couple bugs fixed.
- The function name "spacecall" has been changed to "sc".
- Specs has been updated. Some OOC information is now left out of the eng
specs display, and the ship class, type, etc. is consolidated onto one line.
- Pacifist flag now prevents weapons from being charged.
- Torp explosions are now half as powerful, and shields are now much, much more
effective at resisting explosion damage.
Changes from v0.7.8 to v0.8.0 (First Public release)
----------------------------------------------------
- Updated to work with TinyMUX v1.4p5.
- Fixed a large number of bugs.
- Changed the explosion event to include the distance from the explosion.
- Changed the source code layout and spacecall names to remove references to
the old TOS console names. eg. helm has been changed to tactical, nav has
been broken into navigation and shields. Renamed helm.* to tactical.*, and
created shields.c and shields.h.
- Changed EV_SCANNED to INFO_SCAN_STRING. Moved the code for displaying
contacts and scanning to sensors.c from events.c.
- Added contact_info_level spacecall, EV_TORPS_LOADED, EV_TORPS_ARMED, and
EV_GUNS_CHARGED.
- Added CF_DOOR_SIDE. Indicates the side of the ship the docking bay door
is on (if any). Shield on that side must be lowered for ships to undock.
- Ships that undock, or launch now automatically start at the coordinates of the
object they departed from (neglecting ST_STARTPOS).
- Added getDebugCharacter() and isGoodObject() to predicates.c to replace the
DebugCharacter and Good_obj macros.
- Added event EV_COMM_RECEIVED.
- Added bay door info to scan. Added event EV_BAY_DOORS.
- ST_DOCKED_AT is no longer cleared on launch or undock. If you still want it
to be, have EV_LAUNCHED or EV_UNDOCKED clear it.
- Added spacecall set_pos.
Patch v0.8.1
------------
- Fixed sensor bug affecting huge objects.
- Added torpedo counter. Ships can now carry a limited number of torpedoes.
Added spacecalls tac_torp_ammo (function), and set_torp_ammo (command).
- Added event: EV_SHUTDOWN.
- Added flag: CAN_BEAM_FROM.
Patch v0.8.2
------------
- A damage check is no longer done if all phasers fired miss.
- Changed the definition SPACE_LIMIT to NUM_SPACES, for clarity.
- Fixed check for valid space number in commands.c (Mark Cooke).
- Fixed bug that occurred when sensors are damaged.
Patch v0.8.3
------------
- The engine now supports TinyMUSH 2.2.3!
- Removed the crystal system (a Trek-ism). Engine stress damage now
affects the engine/reactor directly.
- Ships can now dock, land, or orbit while moving.
- A log entry is now created when a ship is destroyed due to catastrophic
engine failure.
- cause_damage now logs the correct type of damage that was caused.
Patch v0.8.4
------------
[Note: This patch is purely a stability release. The entire patch was
contributed by Mark Cooke/Farrell. Thank you for your help in my time of
RL business and PSE inactivity! :) -Mars]
- Accesses to freed space objects is prevented using a delayed freeing
scheme. Prevents possible SEGVs when destroying space objects.
- SEGV when stressing reactors fixed.
- Fix to avoid scanning objects with long descriptions causing SEGVs.
- General fix to platform.c to ensure all buffers handled by the PSE
are SMALL_BUF_SIZE long - unless the code is specifically changed to
use a 'Large' version of the getAttr call. This closes many other
possible SEGV conditions.
Patch v0.8.5
------------
- Updates to the gun firing code so that messages are only broadcast when
at least one gun fires. Firing a gun now triggers the EV_ATTACKING_OTHER
broadcast event.
- Updates to the torp firing code so that if a single torp is fired, it
actually does some damage if it hits the target.
- Trying another attribute buffer handling scheme: Added 'MAX_ATTRIBUTE_LEN'
to spaceconf.h. See the comments in that file for more info.
- Fixed a memory leak in getEvalAttr.
- Removed some portions of the 0.9.x series that slipped into 0.8.4.
- Updated patches to the latest development and release versions of TinyMUX.
- Updated documentation to reflect the new sites for PSE distribution.
Patch v0.8.6
------------
- Update the torpedo handling code so that auto-load is correctly disabled
if the vessel runs out of torpedos.
- Correct the evAttacked event to use the correct parameters.
- General code cleanup so that the Portable Space Engine compiles without
any warnings when gcc is set to -Wall.