ReleaseNotes:98.0: Difference between revisions

From Spring
Jump to navigationJump to search
Abma (talk | contribs)
mNo edit summary
Abma (talk | contribs)
No edit summary
Line 5: Line 5:
===Visual profiling and grapher that shows how Spring spends time====
===Visual profiling and grapher that shows how Spring spends time====


[[File:Grapher.jpg|thumb|
[[File:Grapher.jpg]]
 
  green are video frames
  green are video frames
     red are simframes
     red are simframes
     blue is swapBuffer (gpu/vsync)
     blue is swapBuffer (gpu/vsync)
     pink is lua gc]]
     pink is lua gc


You see that `Frame Grapher` which displays the last half second and its time slices:
You see that `Frame Grapher` which displays the last half second and its time slices




===UTF8-Support===
===UTF8-Support===


[[File:Before.jpg|thumb|spring 96.0 without utf8 support]]
UTF8-Support.
[[File:After.jpg|thumb|spring 97.0 with utf8 support]]
[[File:After.jpg]]
 
 
 
 
 
==Buildprocess==
- fix freetype not found on windows / mingw
! add check for gcc >=4.6 at configure
- optional fontconfig support
! SDL2 dependency
 
==Misc==
- improve debug draw (alt+[b])
 
==Rendering==
- `DebugGL` configtag works now (cause of SDL2 switch)
 
==LuaDefs==
- the parser now checks the returned tables for NaNs & Infs and prints a warning if it finds some (they are sources of desyncs!)
 
==UnitDefs==
- add new "harvestStorage" unitdef tag, UnitHarvestStorageFull lua callin and Spring.GetUnitHarvestStorage(unitid) callout
  it's for engine assisted starcraft/c&c like feature harvesting (atm only metal is supported)
  NOTE: the unload command still needs to be implemented in lua (much less work than the reclaiming one)
 
==Lua==
- LuaRules & LuaGaia are now splitted into their synced & unsynced parts, and each one got its own luaState
  - this way unsynced parts of gadgets now get `synced` callins like 'UnitCreated' etc. w/o SendToUnsynced from their synced part
  - LuaRules & LuaGaia are now ~equal (except a very minor subset of differences) and get the same callins esp. all AllowXYZ callins
  - LuaUI now has a GotChatMsg too (same as LuaRules always had), it's similar to the now deprecated LuaUI-only ConfigCommand callin, but is called more often
  - fixed a lot bugs in Spring's c-lua code
  - use lua's original math.random() code and only use streflop for it in synced luaStates
  - always make math.randomseed() available (synced & unsynced)
  - in future this will also allow multithreading of the different luaStates
- fix Spring.Restart on windows
! new TextInput(utf8char) callin, needed cause of changed unicode handling in SDL2
- added Spring.SetUnitHarvestStorage(unitid, metal) & Spring.GetUnitHarvestStorage(unitid)
! prevent triggering of ATi driver bugs
  ! gl.LineWidth & gl.PointSize throw an error when called with incorrect argument (<=0)
  ! gl.Scissor & gl.CreateTexture throw an error on incorrect sizes, too
! fix gl.Viewport
- add missing colvol tags to Unit-/FeatureDefs:
  - .collisionVolume.type = {"ellipsoid" | "cylinder" | "box"}
  - .collisionVolume.scale{X|Y|Z}
  - .collisionVolume.offset{X|Y|Z}
  - .collisionVolume.boundingRadius
  - .collisionVolume.defaultToSphere
  - .collisionVolume.defaultToFootPrint
  - .collisionVolume.defaultToPieceTree
- add optional 4th argument to Spring.GetUnitSeperation to calc the distance between the unitsphere surfaces instead of their midpos
! fix wrong coords & crash in Spring.RemoveGrass
 
==LUS==
- SetUnitValue now accepts booleans, too
 
==Installer==
! disallow to install spring over existing installations / ask for uninstall first
- don't associate .sdf with spring.exe any more

Revision as of 00:04, 19 February 2014


New features

Major

Visual profiling and grapher that shows how Spring spends time=

green are video frames
   red are simframes
   blue is swapBuffer (gpu/vsync)
   pink is lua gc

You see that `Frame Grapher` which displays the last half second and its time slices


UTF8-Support

UTF8-Support.