WIP changelog since the fork #171
Replies: 41 comments 23 replies
|
TODO:
|
|
|
|
|
Engine 861 released. Changes made to the engine after this release, should go after this comment. |
|
|
|
Engine 902 released. Changes made to the engine after this release, should go after this comment. |
|
cc @Svalorzen |
|
Engine 941 released. Changes made to the engine after this release, should go after this comment. |
|
|
|
|
|
|
|
Engine 1544 released. Changes made to the engine after this release, should go after this comment. |
|
|
|
pr-downloader:
|
|
with in shaders unless you want to support skinning, in which case you also need to do (FIXME, do what).
|
|
pr-downloader:
|
|
|
|
https://github.com/beyond-all-reason/spring/releases/tag/spring_bar_%7BBAR105%7D105.1.1-1775-g441af87 is released |
|
We've since then moved to using the running changelog directly to record changes for new releases and have an archive page as well. See |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
NOTE 1: this changelog has been written on the fly so some entries might be obsoleted later
NOTE 2: the running changelog since the last version is at https://beyond-all-reason.github.io/spring/changelogs/running-changelog
In general, changelogs are now available at https://beyond-all-reason.github.io/spring/changelogs
WIP changelog for BAR105 branch
== Misc ==
/endGraph 2to bring the player back to the menu (1 still quits)math.random()now correctly accepts arguments when parsing defswupget:GameProgressinterval 10 → 5 secondstreetype0totreetype15features with a model and some customparamsSpring.GetGroundExtremeswould return 100 -> 100 -> 110 -> 110)nilas the first arg toSpring.SetCameraStateSpring.{Add,Get,Remove}Grassnow works even if grass rendering is disabled (also fixes desync)Spring.AddGrassnow has a 3rd param, grass intensity (returned byGet; putting 0 equivalent to usingRemove)Feature_getResurrectDefandFeature_getBuildingFacingsphericalparam toGet{Friendly,Enemy,Neutral,}{Units,Features}{In,}Spring.SetWMIconnew 2nd arg, boolforce: ignores the 32x32 icon restriction on WindowsSpring.GetKeyBindingsto return all keybindingsABab, in othersAaBb)Spring.SpawnExplosionworks insideProjectile{Created,Destroyed}and no longer crashes on some valid dataSpring.{Set,Get}UnitBuildParams(unitID, "buildDistance"/"buildRange3D", valueToSet)about unit build range (number) and whether it's spherical (bool)/setSpeed xto set game speed directly, still obeys min/max== TKPFS ==
== Radar icons stuff ==
UnitIconsAsUIand an ingame/iconsAsUIcommand (all below have a/commandvariant without the "Unit"). Set to 1 to make radar icons behave like UI elements instead of in-world objects (e.g. no obscuring by terrain, distance fog, blurring or reflection in the water etc. FIXME: some other important effects? different relationships with DrawFoo lua callins?)UnitIconScaleUI. Scaling for the aboveUnitIconsHideWithUI. Whether icons get hidden via F5.UnitIconFadeStartandUnitIconFadeVanish, for making icons fade smoothly (FIXME: how does this interact with /disticon? override, both apply independently?)== GL Texture Atlases ==
gl.CreateTextureAtlas(number x, number y, number? allocType, string? atlasName) -> string texName.xandyhave to be between 256 and the value of the (FIXME: new?) springsettingMaxTextureAtlasSizeX(Y respectively).allocTypeis a number between 0 and (FIXME), defaults to 0 if not specified, the meanings are (FIXME).atlasNameis an optional name for the atlas, defaults to (FIXME).gl.FinalizeTextureAtlas(string id) -> bool success. FIXME: is this ID the same as texName above? the atlasName? different?gl.DeleteTextureAtlas(string id) -> bool success.gl.AddAtlasTexture(string id, string luaTex, string? subAtlasTexName). Adds textureluaTexStrto sub-atlassubAtlasTextureName(defaulting to same name asluaTexif not specified) of atlasid. (FIXME: describe sub-atlases) The lua tex has to be a regular 2D RGBA/UNORM texture. DDS textures can also be put into the atlas.gl.GetAtlasTexture(string texName, string luaTex) -> (number s, number p, number t, number q). Query an atlas texture for the UV coordinates (minU, maxU, minV, maxV) of a texture saved with AddAtlasTexture== Particles ==
/softParticlestoggle andSoftParticlesspringsetting to make particles (esp. groundflashes) clipping into the ground fade a bit instead of having a jagged edgeSpring.SetNanoProjectileParams(r, v, a, randR, randV, randA). All params are numbers, and default to 0 when not given. The first three are starting rotation in deg, rotation speed in deg/s, and rotation acceleration in des/s^2. The other three are the same but multiplied with a random (-1; +1) before being added to the former (rolled once per particle at the start of its lifetime) and the appopriateGet(FIXME: theres rotation but no speed? that's the more important part)/drawOrderParticlescommand which makes particles obey draw order, supplied in CEG definition under thedrawOrderkeyrotParamskey toCSimpleParticleSystemandCBitmapMuzzleFlameCEGs, a vector of 3 floats: rotation speed, rotation acceleration, starting rotation, in degrees per second ^1/^2/^0 respectively (FIXME: looks like american timestamps, why isn't it start/speed/accel or accel/speed/start? the starting value probably doesnt matter so it makes sense though)smokeTrailCastShadow, numbersmokePeriod(default 8), numbersmokeTime(default 60), numbersmokeSize(default 7), and numbersmokeColor(default 0.7, single value for all three RGB channels tint) to things with smoke trails (FIXME: just missile and starburst? do torpedoes count for bubble trails?)castShadow, for the projectile itself (FIXME: only missiles too? does it work with say cannons that use a model?)== shaders, VAO, GL4 and other advanced graphics stuff ==
gl.GetVAOwhich returns an object with a bunch of methods (FIXME: link to some wiki with a list and descriptions, ideally also examples)gl.GetVBO(FIXME: ditto)Spring.GetSelectedUnitsCountto the shader container (use case: F2 pathmap replacement)Platform.glHave{AMD,NVidia,Intel,GLSL,GL4}boolsPlatform.glSupport24bitDepthBufferand addPlatform.glSupportDepthBufferBitDepthinstead (FIXME: any neat usage examples, probably from some bar widget?)gl.{Unit,Feature}{,Shape}GL4temporary functionsGL:LINE_STRIP_ADJACENCY,LINES_ADJACENCY,TRIANGLE_STRIP_ADJACENCY,TRIANGLES_ADJACENCY,PATCHES(FIXME: for VAO?)GL:[UNSINGED_]BYTE,[UNSINGED_]SHORT,[UNSINGED_]INT[_VEC4],FLOAT[_VEC4],FLOAT_MAT4GL:ELEMENT_ARRAY_BUFFER,ARRAY_BUFFER,UNIFORM_BUFFER,SHADER_STORAGE_BUFFERGL:READ_ONLY,WRITE_ONLY,READ_WRITERGBA32etc) toGL(FIXME: wiki link probably? also for the above too i guess)GL(FIXME: ditto)== general rendering-adjacent stuff ==
Spring.{Set,Get}{Unit,Feature}AlwaysUpdateMatrixwhich makes the unit "always update matrix" (FIXME: what does that mean, what matrix? when to use this?)/reloadTextures [lua, smf, s3o, ceg]to reload textures, all groups if none specified. (FIXME: any groups not contained here?)gl.GetFixedStatethat returns a shitton of various GL constants and tables (FIXME: it does a lot, document here? probably link to wiki. maybe returning 5-element tables is also bad and should be done on the stack?)DeprecatedGLWarnLevelspringsetting default value 2 → 0 (to reduce spam)gl.AlphaToCoverage(bool enable, bool? force) -> nil, defined only ifGLEW_ARB_multisampleis supported by the platform, and otherwise the func itself is nil;forcemakes it apply even if MSAA level is under 4 (FIXME: what does that mean, what are the practical effects of setting it for msaa 3 or less?)gl.ClipDistance(number clipID, bool enabled) -> nil,clipIDis 1 or 2 (FIXME: what does either of those numbers mean?)TextureMemPoolSizespringsetting default value 256 → 512 MBwindSpeedtoSpring.{Get,Set}WaterParamsAll reactions