Legends has been merged with various versions of TGE over the past seven
years, and each merge has brought the engine and scripting updates (and
a lot of them broken...) to Legends.
Some of the changes you've already seen over the years as content or
script releases, but the vast majority of fixes and changes have never
seen the light of day due to engine code changes.
The merge with TGE 1.5.x, which began in October 2006, took over two
years to complete, with lots of dead-time mind you, and the engine was
finally merged with TGE 1.5.2 in April 2008.
This final merge brought with it updates to the scene lighting and a
plethora of bug fixes, both in code and script, that were left over from
all previous revisions.
Now, over three years later, Legends 0.4.2.0 is about to be released.
Apart from the merge, there have been a lot of other fixes, changes and additions done by the Legends development team.
Below are the major ones (or at least the ones I can remember), but a
lot more from the past seven years of developing the new binary have
probably been omitted.
Fixed: Random sound pitch was affecting GUI sounds. No more random pitches on GUI buttons!
Fixed: Vehicles now use the same dynamic gravity code as the player, so vehicle.setGravity(gravity) now works.
Fixed: Mouse cursor locks to the canvas when in fullscreen. This
prevents the cursor from moving onto another screen in multi-monitor
setups where you are only using one screen.
Fixed: The limit on number of audio "voice" channels will now use the maximum the soundcard supports.
Fixed: Corona now scales over distance. The corona will shrink in size the further away it travels.
Fixed: setStatic() was not setting the item class objects as static and
not propagating to the clients. This fixes the slow-moving mines.
Fixed: The running animation was playing while jetting. It should now no longer show you as running to other players.
Fixed: DirectInput in windowed mode caused a difference in the cursor
speed between Legends and Windows, so it has been disabled while in
Fixed: An old close crash bug was caused by scanning the unf files again when exiting Legends.
Fixed: The guiListViewCtrl header was not scrolling with the list content.
Fixed: shapeimage texture was not always setting on first use, i.e. the
disclauncher team skin would only show if you cycle to and back from
Fixed: The stepheight functionality in the player code now works as intended.
Fixed: Decal fogged.
Fixed: Shield effect code was re-worked and re-written to work more consistently. It can also now use team colours.
Fixed: (partial) Daylight cycle now works with the new Legends codebase.
Fixed: Waterblock tiling was broken in all revisions of TGE since 1.2. I have now fixed the problem.
Added: A modular CG shader engine has been implemented. Currently only
working with the waterblock, but work is being done on the terrain and
Added: Built-in anti-aliasing has been implemented for Windows.
Added: A non-obtrusive pure-server solution has been implemented. The
serverlist will show a green light bulb if the server is "stock".
However, you can have third-party missions without flagging your server
is a variant.
Added: Water skiing has been implemented. Yes, you read that right.
Added: Compass now shows arrows to specific objectives (flags, switches, rabbit, etc.).
Added: The floor and ceiling of the mission area is now rendered.
Added: A non-scripted method of hiding all huds on screen has been added.
Added: The functionality to rename markers and propagate the change to clients has been added.
Added: Proper gamepad, driving wheel and flightstick support has been
added. This includes feedback support. XBox360 rumble support not
included at this time.
Added: The GuiBitmapExCtrl now has a setTint() function. This changes the tint without having to refresh the canvas via script.
Added: Decals have been added to the explosion code. This allows a different impact decal for each explosion.
Added: Static shapes can now use the ambient animation.
Added: The option for fxFoliageReplicator and fxShapeReplicator to use a
min and max height has been added, so you can now do banding of
replicators. For instance, you can now have a different grass underwater
than above water. You can also specify a terrain texture to render them
Added: The option to force-render precipitation has been added for
mappers who want the visuals regardless of the clients option.
Added: Bounce sound functionality has been added to Debris, GrenadeProjectile and Items (grenades)
Added: The option for an underwater jet trail has been added.
Added: The option to scale mounted images has been added.
Added: The option for custom corona bitmaps per light source has been added.
Added: Initial rotation and elevation for turrets can be specified in
the turret datablock. The rotation and elevation can also be set via
Added: A setFrictionless(bool) function has been added to allow removal of all ground friction from a shapebase object.
Added: A setDrag() function to set a shapebase objects drag value dynamically has been added.
Added: Heat bar has been added.
Added: The option to enable dynamic shadows for static shapes has been added, including those used by fxShapeReplicator.
Added: The option to maximise the window has been added. Also added the
option to do fullscreen windowed mode (oxymoron, i know).
Added: The guiMissileLockHud has been added to show when a turret is targeting the player and when a missile has a lock-on.
Added: Numeric health, energy and heat huds have been added. The values cannot be read via client scripting.
Added: The option to enable first-person player animations has been
added. This adds a slight head-bobbing effect, and can also render the
players weapon in the correct non-offset position.
Added: A turn animation has been added, so turning left or right will move the players legs.
Added: The option for guiBitmapButtonCtrl to use the alpha channel of a
bitmap has been added to allow the use of an "in-point" selection mask.
Added: Alternative directional damage flashes around the edge of the screen have been added.
Added: Functionality for player jets to be positioned through scripting
has been added, either by adding the jet node name to the jet list or
using an offset from another node. You can also have more than one jet
Added: Player impact sound and decal has been added when landing after jumping.
Added: The linear projectile can now explode the after the lifetime rather than just be deleted.
Added: Coronas now have the option for custom scale per light source.
Changed: Damage flash colour can now be customized via scripting.
Changed: The server query returns more details on the servers, and what exactly it is querying.
Changed: Terrain texture limit has been increased to 12.
Changed: Forcefields, jet trails, light sources and particle emitters can now use team colours.
Changed: The reticle damage bar now shows red for enemies and green for
friendlies. Both can be customized through the GUI control. An energy
bar will now show below the damage bar, but only for players and assets
on your own team.
Changed: The materialPropertyMapping is now server-centric. The server
sends the material properties to the client, which allows the server to
change a material property for a specific mission.
Changed: Projectile collisions and explosions are now completely
calculated on the server. If the server detects a hit, it will now send
the info to the clients to render the explosion. No more non-regs.
Changed: Texture resolution limit is now 8192x8192.
Changed: Increased the maximum packet rate and packet size. You can now
use 1024 for the packet rates (ever 1ms) and 1500 for the packet size
(theoretic maximum of a single packet).
Changed: Re-written the beam projectile rendering code. The two elements of the beam can now be coloured independently.
Changed: The code to check if the player IFFs are to be rendered has
been changed to now check if the target is sensor visible to your own
team, and if not it will then check if they are within LOS. If either
case is true, the IFF will be visible, even through objects, interiors
and terrain. The IFFs will still adhere to the maximum render distance,
so you cannot see an enemy IFF from across the map. Friendly targets
follow the same rule, so friendly IFFs will not be visible unless they
are within sensor range or LOS of another friendly sensor target.
This is a little shorter than the code changes, since a lot of the fixes and changes are already in 0.4.1.x.
Fixed: All missions have been cleaned, tweaked and fixed by LPBBear.
Fixed: Capturing a neutral switch will now move any associated spawnpoints to the cappers team.
Fixed: Selection of the spawnpoints is now random again.
Fixed: Attacking a forcefield will no longer spam you with a message if base rape is disabled.
Fixed: Personal switch defending score during a game of War is now properly scheduled.
Fixed: Changing teams or leaving the server now cancels the switch defending score schedule.
Fixed: Server info and list should now properly clean on a new query.
Fixed: Using port 28000 on the client can cause irregularities within
the LAN query code, so we will now use 28001. Searching for LAN servers
will show you as hosting when using port 28000, even when you are not
hosting. Also, LAN servers *MUST* be on port 28000, or the LAN query
code will not find the server.
Changed: Toggling the shield module will show a short visual effect to tell the player they have toggles the module.
Changed: During play of DeathMatch, players will only see the IFFs of other players that are sensor visible.
Changed: The join server gui is now split by a frameset, server list on
the left and server details on the right. The frameset divide is
Changed: A lot of things are now team coloured.
Changed: The disc launcher and pistol both have new models.
Added: A lot of new sound effects have been created by Marauder of idk?
and Splash Damage fame. Mad props to him for some very awesome sounds,
and I hope he can come back some day to finish the rest of them
Added: A new default GUI skin, Kevlar, has been added. The skin changes both the main menu and the play gui.
Added: Teleport particle effect has been added to both the teleport trigger and the teleport destination.
Added: Vehicle station and spawn pad have been added to the game, along with a simple GUI to purchase a vehicle.
Added: The vast majority of explosions have been replaced by particle effects.
If, when the update is finally released, there's something not listed
here which is not in 0.4.1.45, then I've simply forgotten to list it
here (which is likely). I will be coming back to this post to add more
changes as I remember them.
0.4.2.1 Patch Changelog 16-9-2011
Yes, I know. We've not even released the update, and there's already going to be a patch for it.
However, this patch is not going on rsync for a while yet, so you'll
have to play on one of the official dev servers to try out the changes.
Added: Medium armour is now in-game. No model has been done for it, so we are using the light for testing.
Added: A deployable sensor has been added. This has the added bonus of extending the range of the deployable turret.
Added: A solar panel energy generator has been added.
Changed: The light armour can no longer deploy turrets and stations.
Changed: The plasma projectiles now explode after the lifetime runs out.
Now, the changes in this patch are not final until we actually release
it. I can probably tell a few people might be upset over the inclusion
of a medium armour (mostly ex-dev members...) after all these years of
not having one, but this is a good time to test the waters on such
Additional Script/Art Changes:
Fixed: Several typos of "received" have been rectified.
Fixed: Turret tracking and missile lock-on messages should now be much more reliable.
Fixed: Missiles would occasionally crash the client when colliding with flares.
Changed: Missiles will now explode after expiration of their lifetimes.
Dev EastCoast1, EastCoast2 and EU1 servers have been updated.
0.4.2.1 is now live.
A small update to fix a client-side turret related crash has been
pushed. Servers do not need to be updated, but it is recommended to
update your clients.
Go to "Play" tab, click Legends and select "Updater" **NOTE: No update progress is shown, if you want to see it, run the script in Terminal**
Additional changes to 0.4.2.1
FIXED: The clients team and team objectives will now always be first in the team and objective HUDs.
ADDED: A warning will now pop up when a player joins a server running
with team colours enabled, to point out that players with a red FoF
indicator may not be the enemy.