EngineChangelogForContentDevs - beyond-all-reason/springrts_engine_wiki_mirror GitHub Wiki
This page holds informations about engine changes that are relevant to game/map makers. The idea is to replace the "make your game ready for next release"-threads with a wiki page because unlike a forumpost, everybody can edit this. So if you find a thread (or mantis post etc) that explains a fix, please add it here.
slight changes:
- fix definitions of UnitDef::Is{Strafing,Hovering}AirUnit
- experience has slightly different effects: , http://springrts.com/mantis/view.php?id=4446
- unsynced luarules now recieves all synced luarules callins (could break very lazily coded gadgets, also if game includes gadgethandler then it should be updated to match, or unsynced luarules chatactions will be executed twice)
- each usage of SYNCED now makes a copy of the whole table
- types of variables returned from callins are now checked, e.g. MouseMove must return a bool
- TTL for LightningCannon now needs to be set in weapondefs, as 'beamttl' (see https://github.com/spring/spring/commit/dd7d1f79c3a9b579f874c210eb4c2a8ae7b72a16)
- Spring.GetUnitCommands/Spring.UnitCommandQueue won't work if they are called to often without a limit on the size of the table they return. Use e.g. Spring.GetUnitCommands(unitID, maxQueueSize)
NOT COMPLETE: interessting changes from 25 Aug backwards to Aug 09, 2013
- new folder structure: http://springrts.com/phpbb/viewtopic.php?f=12&t=30044
- the folder "mods" isn't supported any more:
Lua:
- change to weapon indexing in lua gadgets: (likely to cause index out of bounds errors in any gadgets using weapon related API calls) ALL weapon API functions are 1-based now!
- .moveData has been removed, use .moveDef instead (detecting what type of unit a unit is, isCommander etc)
- Spring.GetUnitNearestEnemy doesn't return neutral units anymore
- add third return-value to Spring.GetUnitBlocking
new functions:
-
- add Spring.SetFeatureBlocking
- add Spring.GetFeatureBlockin
- add Spring.SetPieceProjectileParams
-
add SetProjectileAlwaysVisible
-
add callins FeatureDamaged and FeaturePreDamaged
-
add Spring.GetRadarErrorParams
-
add Spring.SetRadarErrorParams see above
-
add Spring.SetUnitPosErrorParams
-
add Spring.GetUnitPosErrorParams see above
-
add Spring.GetUnitWeaponCanFireunitID, weaponNum
-
add LuaSyncedCtrl: add callouts SetFeatureVelocity and SetFeaturePhysics
- add new Game.constants: Game.gameName, Game.gameVersion, ... See Lua_ConstGame
Misc:
armordefs.lua MUST be updated. The fix is to simple the converter loop at end of file: Armordefs.lua#Example
- load only image formats which work on all platforms, current supported image formats are:
PNG, JPG, TGA, DDS, BMP (note: no more .jp2)
- make Gaia the default feature team, not -1/0
Sim
- sweepfiring beamlaser works (someone test?)
Someone check if relevant: something with startmoving/stopmoving?
something startposition bla
- gadget:UnitPreDamaged has a new projectileId argument inserted in the middle, so attackerID, attackerDefID, attackerTeam shifted position
- Bomb weapons need a range, or they won't be fired
- Spring.AddUnitDamage requires a weaponDefID (may be a bug, may be corrected for 95) http://springrts.com/mantis/view.php?id=3841
- QueryNanoPiece is called much less often
- toairweapon tag has been removed, use onlytargetcategory instead
- when looping over WeaponDefs - causes several fails.
mantis 3019 fixed in next release.
- builders stop reclaiming sometimes.
fixed for next engine release: http://springrts.com/mantis/view.php?id=3012 want it to work right now:
-
AttachUnit obeys cantbetransported http://springrts.com/phpbb/viewtopic.php?f=23&t=30468
- Now needs a Lua gadget.
Category:Game Dev Category:Releases