github MovingBlocks/Terasology v4.0.0
Engine 4.0.0 / Alpha 16 - GSOC 2020

latest releases: pre-2023-revive, v5.3.0, v5.3.0-rc.2...
3 years ago

Release Summary

This release contains all the content and other changes from GSOC 2020, at least those that are specific to Terasology the game - work also happened on Destination Sol via @IsaacLic doing more Gestalt-ES implementation over there and @TheShubham99 worked on a shiny new "journey site" to help guide a user looking for information, be it to play the game, work on it, and so on

It isn't exactly the most stable stable release ever, as it contains a bunch of stuff plus we've been majorly overhauling some engine systems since last as well. But a lot of the basics test out OK and there's a pile of good stuff in this release :-)

Highlighted changes

Likely to be incomplete as it is hard to stay on top of / find all the relevant changes, especially in module-land!

  • The rendering DAG project (#3994 and #3732) by @dave2s finally got merged! This was actually a GSOC 2019 project and originally began with @tdgunes all the way back in GSOC 2016 as one of our very first GSOC projects! Rendering is hard ;-)
  • We finally extracted our NUI library (#4017 and #2307 before it) from within the engine to its own external repo https://github.com/MovingBlocks/TeraNUI - special thanks to @BenjaminAmos for not only finally getting it past the finish line but also preparing a version of it that works with Destination Sol as well!
  • Bunch of actual UI/UX improvements as well, as part of @stefaniamak's GSOC project (focused on Master of Oreon + Light & Shadow)
  • Some tweaking around our module filter on the Advanced Game Setup - check on which boxes are checked in case anything seems off. Still could use a bit more work and classifications
  • A handy new run config for IntelliJ that'll recreate a game with the most recent settings without needing to manually navigate the game UI at all - just use "recreate latest" !
  • Physics and collision tweaks, player height refactoring, and lots of other refactoring to clean up and improve code
  • Better ability to substitute lib projects in a workspace for their binaries using shiny new Gradle magic (like groovyw module get TeraNUI if you need to edit NUI separately but test it in-game) - various other neat Gradle changes too
  • Piles of JOML conversion work slowly getting us to where we could drop our old TeraMath in favor of JOML - thanks to @pollend and others for keeping at that!
  • Various supporting changes needed for GSOC projects
  • Various other bug fixes, performance improvements, etc (while acknowledging some new performance issues have crept in, like #4154)

See also the v4.0.0 milestone with closed issues and PRs

Modules

Beyond new modules we also extracted several more from the engine repo into their own module repos. At this point the engine is actually module-less without using groovyw module ... to fetch some.

  • BiomesAPI was extracted
  • CoreAssets, CoreAdvancedAssets, CoreWorlds, Drops, Explosives, and Furnishings came out of a rework of our fundamental set of modules (see graph below) - many thanks to @jdrueckert and @skaldarnar!
    • Debugging was also split out, but kept out of the lineup since it is more for developers
  • CoreRendering goes with our finally-merged DAG overhaul from GSOC 2019
  • ParadIce by @Qwertygiy was added as a new world module with some new palm trees and such to go with Lakes getting a new oasis feature by @sin3point14
  • Lost was reworked as part of a TSOC project by @meetcshah19 - the original was from GSOC 2017 authored by @nihal111 but relied on a provided save game, now it works straight out of the box with everything dynamically placed!
  • ClimateConditions and related modules were updated by @ktksan as part of a GSOC project for making biomes more meaningful, with temperature + humidity introduced along with items to craft to guard against them
  • Genetics / breeding had another round of effort put into it by @vedant-shroff - breed plants and animals with meaningful (if perhaps hard to spot) outcomes!
  • Worth mentioning again was UI/UX improvements to Light and Shadow by @stefaniamak for GSOC 2020 which finally pushed it over the finish line to be fairly gracefully playable and replayable, after many past efforts like from @darshan3 (2019) and @dacharya64 (2018) in previous GSOCs
  • MetalRenegades got a second season of work done to it by @AndyTechGuy mentored in part by @mayant15 - both of them worked on MR for GSOC 2019
  • Some of the AI, pathfinding, and behaviors related to MR and others were also improved by @agent-q1 who also went on to work some on our logistics as part of a TSOC project
  • Volcanoes were introduced via TSOC by @sin3point14 alongside improvements to Lakes, like the desert oases
  • @RatMoleRat worked a TSOC for further improvements to the WeatherManager and other related systems
  • @4Denthusiast worked independently on a pile of cool systems including FlowingLiquids and FallingBlocks, even hooking up parts functionally to the systems in JoshariasSurvival

It was extra neat to see emergent interplay between work from different contributors - such as a volcano from @sin3point14 overflowing unintentionally thanks to @4Denthusiast's FlowingLiquids, going down the sides to melt/destroy snow blocks build up there by snowing weather being worked by @RatMoleRat for WeatherManager

CoreOverhaul

Removals

Some have had their repos archived, others just removed from the Omega lineup

  • Core & CoreBlocks were retired in favor of the new set of Core modules
  • SimpleLiquids (for flowing water) was retired in favor of FlowingLiquids
  • Tutorial modules were removed from the Omega lineup as they're really for development, not learning the game
  • Malicious likewise is a test module to provoke naughty behavior in code trying to escape the sandbox, not for players
  • MarcinScIncubator and ThroughoutTheAges have been removed as old/deprecated (even NeoTTA is not really working and that's newer)
  • AdditionalWorlds has been removed from the lineup as it is a "parking" module with very assorted work from Google Code-In and such
  • BuilderSampleGameplay and QuestExamples became tutorial modules instead: TutorialMinimalEngineDemo + TutorialQuests

Upcoming changes

Not in this release but worth highlighting as coming soon (some right after this release being published):

  • Physics upgrade from TeraBullet to JNBullet and more JOML conversion by @pollend and with help from others
  • Upgrade to LWJGL 3 from 2 by @DarkWeird alongside Gestalt version upgrades affecting hundreds of repos and PRs, wee!
  • glTF model format introduced by @immortius with piles of model and conversion work by assorted contributors since like @Qwertygiy and @pollend
  • Performance improvements surrounding both chunk loading as well as fundamental library improvements by @DarkWeird @keturn and others. Also better memory & thread handling, so an overall better behaving game instance

Full changes

Since I forgot to make a PR from develop to master to get a nice view in case it matters (or looks impressively huge!) here's a list copy pasted from Jenkins and formatted a bit. We really need to automate this part and improve our change notes. Plus our commit messages, as perhaps illustrated by the first one 😁 We've started trying to adopt conventional commits to get more descriptive messages and that should help better automate them into a release report at some point.

hmm

  • hmm (commit: c9633d4)
  • playing with some things (commit: e8248da)
  • mend (commit: b7e409a)
  • drafted methods for adding connections to new abstract node (commit: 1f4fa2b)
  • init input output connections variables in new abstract node (commit: 78c997a)
  • remove connections, get number of connections, get list of input/output connections, get input/output connection by name (commit: a9dac0c)
  • Comment out DAG dependency matching draft (commit: fc5a4f4)
  • depndendency get/set->public, constructor on top (commit: 9bfbd1c)
  • finalpostprocessingnode->extends newabstractnode,++passtrough node (commit: cb03399)
  • Switch to new abstract node super type for some testing nodes late in the pipeline (commit: 04bd2ae)
  • Faulty design atm, contains the usage idea behind newabstractnode changes. Todo: adding logic must be moved somewhere else. In other words the removed change by this commit was more functional...so something along those lines (commit: c76c24d)
  • Methods for tampering with in/out dependencies input getting protected, outputs getting public ..etc (commit: d2715dc)
  • connection names from Name to String. Might construct some Uri class based on names later. ++Setters/Getters for Uri/Urn acting as connection data but so far only point there (commit: ffc417c)
  • Reading FBO inputs inside a specific node to try and run. (commit: a8b64f5)
  • mainly checkstyle (commit: 2b855f4)
  • merge PR-edgeConnections into edgeConnections and apply previous edgeConnections stash (commit: 8f91b98)
  • Revert ConditionDependentNode update to new system for the time being (commit: 304f0ef)
  • New DependencyConnection abstract class, renamed from EdgeConnection (commit: 21d0bfd)
  • moved getFboName(int) naming from super class to FboConnection.java, (commit: 4e1796a)
  • removed materialconnection for now (commit: 33feec1)
  • FinalPostProcessingNode - read input fbo from added FboConnection (commit: 3315b57)
  • Connect toneMappingNode out FBO1 to finalPostProcessingNode input FBO1 (commit: 19a799f)
  • set output FBO connection for ToneMappingNode (commit: 703eb83)
  • checkstyle (commit: 3e4338a)
  • checkstyle (commit: f7f2c84)
  • Split old Node to NewNode interfaces (commit: d87ded5)
  • Update nodes to extend NewAbstractNode implement NewNode (commit: 78ca970)
  • Connected input dependencies(some gbuffers are still passed the old way): (commit: 2fd6115)
  • Call NewNode.setDependencies() when adding new NewAbstractNode to the graph. (commit: 5d92cc7)
  • Updated NewAbstractNode: (commit: db44fd9)
  • Update RenderTaskListGenerator to use NewNode (commit: d407150)
  • Update RenderTaskListGeneratorTest to NewNode, (commit: 502d3b4)
  • Following changes to NewNode/NewAbstractNode system utilize new mandatory setDependencies to split constructing (commit: 8734d3f)
  • DownSamplerNodes to new dependency system, read below: (commit: 029240f)
  • unused import -- (commit: 82a425a)
  • restore dispose for new abstract node and fboUsages since a lot of not yet (commit: 60fae0d)
  • WorldRendererImpl checkstyle (commit: 9ebfb3b)
  • Class level Refactor FBOConfig -> FboConfig (commit: 445990d)
  • Class level refactor: FBOs -> {0}Fbo{1} (commit: 96f5aeb)
  • WorldRendererImpl variables rename *FBOs -> *Fbo (commit: 79be36b)
  • amend last commit (commit: 97e8eec)
  • newAbstractNode - make some connection queries public, getInputConn.->++nullcheck (commit: 73a3294)
  • Added parentNode and connectedNode attributed to connections.Read below (commit: 705c6b2)
  • setConnected node access modifier to protected (commit: 91683c2)
  • toString() override for DependencyConnection (commit: a78e0a3)
  • connectFbo-++check for already connected + setting connection.connectedNode (commit: 058a430)
  • parentNode setter for DependencyConnections (commit: a218fbb)
  • Double check for FBO connecting, read below: (commit: 261e8cd)
  • remove comments (commit: 677fca0)
  • remove unused commented code from RenderGraph.java (commit: d8e00a8)
  • add a multiplicative tint shader (commit: 776524c)
  • WorldRendererImpl.java: force a tintNode between finalPostProcessing and outputNode for testing (commit: 329b4a7)
  • Draft an API class with access to the DAG to attempt dag tampering from within a module (commit: b839a1a)
  • moved some classes around packages - api experiments (commit: d05b08c)
  • render graph imports NewNode (commit: 7d0a802)
  • update method declarations to RenderTaskListGeneratorTest to compile recent changes (commit: 31c4d3d)
  • RenderTaskListGenerator imports NewNode (commit: a611325)
  • RenderGraphAPI ++public reconnectInputFboToOutput() ver.1. majority of logic private reconnectIFTO() - should be Node's or Connection's method (commit: 7ec002d)
  • rename Node interface's connection method, use Abstract DependencyConnection class here to make it generic (commit: b0ad628)
  • logger warn to info, comment out Runtime exception when output connection is still connected for testing only (commit: a98db7f)
  • dag/api/package-info.java @API annot. (commit: 5b020ef)
  • Dep.Con. to DependencyConnection, FboConnection extends DC, DC has T data; (commit: e828172)
  • deapify DAG packages (commit: 0aa3543)
  • ++ FBO.java toString() (commit: 88b5ea5)
  • NewNode -> from dag.gsoc to dag.api (commit: ab13784)
  • NewAbstractNode update: read below (commit: 451179b)
  • DownSamplerNode update data obtaining call name (commit: 4bdc98f)
  • m RenderTaskListGeneratorTest modified to compile (commit: 92188f8)
  • rendergraphapi,newabstractnode - finalize dependency reconnecting for fbos, lacks rendergraph update, not yet wip (commit: 7e3217e)
  • RenderGraphApi ++disconnectInput/OutputFbo(),Dep.Connection ++disconnect();NewAbstractNode ++ disconnectOutputFbo (commit: d1e5b45)
  • DependencyConnection reconnectInputConnectionToOutput-write to data directly (commit: f302345)
  • DependencyConnection -- getConnectionName commented out for the time being (commit: b51b386)
  • render graph api disconnect() todos (commit: b6e6bdd)
  • rename RenderGraphApi to RenderDagApi (commit: 1e2955c)
  • ++ RenderDagApiInterface (commit: 5a093de)
  • WorldRendererImpl - renderDagApi rename + usage of interface (commit: 32db02f)
  • RenderDagApi rename + remove old type of injection (share) + implements its Interface now (commit: 0e98404)
  • FboConnection - remove unused lines (commit: 8e7f98c)
  • DependencyConnection for output connection disconnecting - leave data (commit: 086542a)
  • AbstractNode temporary workaround for reusing dependencies after module base'd dag tampering (commit: 3ac382d)
  • RenderDagApi javadoc draft (commit: fee7cab)
  • remove TintNode from engine, rename node.connect to connectFbo (commit: eddf315)
  • return @API annotation to dag package classes (commit: f2e0a77)
  • RenderTaskListGenerator[Test] - update generator to write debug logs, update Test to compile (commit: 8b93828)
  • RenderGraph - ++ boolean areConnected(node,node), store renderGraph into nodes upon addition. remove upon removal (commit: f5d4aec)
  • RenderDagApi+Interface - ++ 2x findNode(),2x resetDesiredStateChanges(), (commit: af05997)
  • add toString to FboConnection() (commit: cfc2330)
  • DependencyConnection - fix ToString() nullpointer exception, improve reconnecting to store connected node to the other side of the connection too (commit: 9bf45af)
  • NewAbstractNode add setRenderGraph() (commit: d60d39f)
  • Nodes - ++ resetDesiredStateChanges() (commit: cbaecc9)
  • NewAbstractNode* ++ isDependentOn() (commit: 133ebd5)
  • Nodes-rename connect to connectFbo(), improve and fixup connectFbo() and reconnectInputFboToOutput(), (commit: 0a103cd)
  • PropertyChangeEvent and PropertyChangeListener @API wrapper draft (commit: 1824ff8)
  • shaderManager ++ addShader(String title, Name moduleName), overload in ShaderManagerLwjgl to enable different source than "engine" (commit: e42146e)
  • updated RenderDagApi interface with addShader() and shaderManager injection (commit: babb030)
  • New ModuleRenderingSystem extending BaseComponentSystem, encapsulates some basic needs for rendering module (commit: 45b2811)
  • checkstyle + some access modifiers: RenderGraph.java, DependencyConnection.java, NewAbstractNode.java, NewNode.java, final RenderDagApi.java, WorldRendererImpl.java (commit: 48cfc44)
  • whitelist for java.beans (nodes need propertyChangeListener/Events) (commit: 21c74a9)
  • remove tint shader (moved to dagTestingModule) (commit: c239d23)
  • Merge RenderDagApi with RenderGraph. Remove RenderDagApi and it's implementation, replace it with render graph. Add RenderGraph to context from within WorldRendererImpl (commit: 98f39c1)
  • NewAbstractNode isDepdendentOn() fixed wrong object comparing (commit: 19c106f)
  • NewAbstractNode.isDependentOn() now compares node uris (commit: d7cc2c5)
  • accidentally committed .ini file removal (commit: ff071df)
  • RenderTaskListGenerator - trim a little debug output for the tests to build and we hush mr. jenkins sir (commit: 914064a)
  • moving nodes to basicrendering - save up for pc swap (commit: c712d67)
  • @API + WhiteListing for All current rendering nodes' needs after moving them to module (commit: d21098d)
  • GLSLShader.java temporary hardcoded SSAO param for preprocessorpreamble (commit: 8b6e9d2)
  • Replace RefractiveReflectiveBlocksNode with dummy RRBNProxy containing water animation parameters, (commit: e81c010)
  • Rename ModuleRenderingSystem to ModuleRendering (commit: dc686bf)
  • add BufferPairConnection draft (commit: cb3c253)
  • rendergraph connecting + refactoring nodes' dep. connecting wip PC swap commit (commit: 29df4fe)
  • RenderGraph ++getNodeMapSize(),2xconnectBufferPair(), (commit: a2a2601)
  • Update BufferPairConnection getConnectionName()with module:node:, shorten DependencyConnection toString() out, update FboConnection getConnectionName() with module:node: (commit: 1ac9498)
  • AbstractNode ++ handling bufferPairConnections, reflect previous commit's changes (commit: abe21d0)
  • WorldRendererImpl - checkstyle + add commented renderGraph init check for future reference (commit: 0ebd298)
  • remove old unused class RenderDagApi (commit: 22f06dd)
  • TODO for renderGraph. SetDependency and Connecting will have to be sorted out later than it is now. Not mandatory but required by this project (commit: fb30e11)
  • ++ BufferPair.java hiding Pair<FBO,FBO> as DependencyConnection Data type (commit: b297e4e)
  • BufferPairConnection update with BufferPair data type, shift getPrimary/SecondaryFbo() to BufferPair class, add getBufferPair(). (commit: 7e5b16a)
  • Update ModuleRendering to be extended by BasicRenderingModule and add createBufferPair() and generateWithDimensions() (commit: f699c04)
  • New RunOrderConnection extends DependencyConnection...is usefull for making sure nodes are in correct order even though no direct materialistic dependency is there (commit: 85c2f7b)
  • update BufferPairConnection - copySwapped->getSwappedCopy(DependencyConnection.Type type, SimpleUri parentNode) - returns new BufferPairConnection with swapped gbuffers (commit: c4bdb8c)
  • Update createBufferPair to take less arguments, strip off the redundant ones (commit: 6b496e5)
  • WorldRendererImpl ++ commented out dummy nodes...WIP (commit: d58d5b2)
  • RenderGraph(multiline comment): reconnectFbo,BufferPair,RunOrder to remove and create a new connection. Should remove itself from connectedConnections on the other end before creating new one (commit: 390a188)
  • DependencyConnection - update connectedConnection to map of connectedConnections to this connection. (commit: 4f2cffa)
  • DummyNode draft (commit: abeb22e)
  • engine ModuleRendering.java (extended by rendering modules) call late datafetching-statechangerequesting methods as described in basic rendering pr comment during the preBegin phase. This phase follows init() during which all rendering modules are inited, data not read yet (commit: a738760)
  • RunOrderConnection - not sure if we need this TODO (commit: 06682c2)
  • Node interface ++ new methods getInputConnections(), getOutputConnections(), setInput/OutputConnections(), addOutputFboConnection(),AddOutputBufferPairConnection(), removeFbo/BufferPair/RundOrder/Connection() (commit: 4486857)
  • NewAbstractNode- update constructors with aka, ++ getInput/OutputConnections(), setInput/OutputConnections(), update connection adding methods with overhead for connectedConnections, same goes for isDependentOn, removeInput/OutputConnection +protected visibility, ++ remove[Fbo/BufferPair/RunOrder]Connection(), ++getAka(), (commit: 54ca534)
  • add providing module to node's constructors in order to know which module the node has been created in (new node()) (commit: 39fad6d)
  • draft of command dagRedirectFbo -WorldRendererImpl + RenderGraph reconnecting method update - enable choice of disconnecting previous connection (makes sense) (commit: c68de2e)
  • remove unused node draft (commit: 8757f38)
  • AbstractNode + Node ++ clearStateChanges(), fix output data propagation to not overwrite (commit: e2115c4)
  • new node clearDesiredStateChanges() - ammend to a few commits back (commit: ac52ca4)
  • renderGraph update reconnectInputFboToOutput with boolean disconnectPrevious ...alltoghether this method might be replaced by simple connectFbo call in the future (commit: f86f4a3)
  • DependencyConnection rename argument to fromConnection (commit: 8aed808)
  • WorldRendererImpl update dagRedirectFbo with toNode.clearDesiredStateChanges(); (commit: 74a1281)
  • draft of initializationPriority for renderingModules (commit: f35f7e4)
  • ModuleRendering remove order calculation, add get/set init priority (commit: fb595e9)
  • rendering-settings menu_en/cs.lang (commit: dcfd124)
  • renderingModuleSettingScreen.java logic behind rendering setting draft (commit: c63af16)
  • startPlayingScreen.ui - incorporate renderingSettingButton (commit: 22818b4)
  • menu_en.lang,menu_cs.lang - add "return", add "rendering-settings" (commit: d220e4a)
  • introduce renderingModuleScreen.ui and .java for configuration of rendering modules' (for now) ordering (commit: 4d60543)
  • WorldRendererImpl.java - add rendering modules' initialization in order (commit: 992041a)
  • TerasologyEngine.java add ModuleRenderingSubsystem (commit: 72d244c)
  • ++ModuleRenderingSubsystem.java > ++ ModuleRenderingManager.java > ++ RenderingModuleRegistry.java (commit: 5fdb0d6)
  • ModuleRendering - update - does not extend BaseComponentSystem, get providingModule from its class during construction, providie setInitializationPriority() for changing initializationPriority of instanciated modules, remove unused empty methods (commit: 9c3abd0)
  • StartPlayingScreen.java add callback for renderingSettings button (commit: f542905)
  • RenderingModuleManager change package (commit: 44e0e86)
  • RenderingModuleRegistry change package (commit: 73b04de)
  • @apify module/rendering/ package (commit: 554673b)
  • ModuleRenderingSubsystem update import's package path (commit: b3d0bbe)
  • WorldRendererImpl.java - update rendering modules' initializations (commit: 1690391)
  • RenderingModuleSettingScreen.java update import's paths (commit: bdbedae)
  • ModuleRendering.java set context in constructor, don't store ModuleRendering in context (is accesible trough manager), add setContext() method for when ModuleRendering is instanciated during gameCreation phase and has different context than it needs during runtime. (commit: 904c7b1)
  • RenderingModuleRegistry.java - commented out gamerun-context put() call for ModuleRendering instances (accessible trough manager) (commit: c7f89c5)
  • RenderingModuleRegistry.java patch ModuleRendering fetching - searches for instances it already has wasn't working (commit: fa96aa9)
  • moduleRendering.java visibility for attribute lowered to protected (commit: 2a89287)
  • StartPlayingScreen.java renderingSettingScreen creation patchup, checks if exists and switches to if does (commit: f408cba)
  • RenderingModuleSettingScreen.java + renderingModuleSettingScreen.ui, update functionality. Patchup Return button problem, add Slider and dropdown for module selection and initPriority edit. Setting slider updates the info text field, hitting Update recalculates order of modules based on shown priority. Switching modules in dropdown sets slider to actual priority (commit: b18394c)
  • RenderingModuleSettingScreen.java change toStrings for distinguishability between module's rendering classes (commit: ca3a31e)
  • worldRendererImpl add support for rendering class enabled/disabled attribute (commit: cfb782b)
  • menu_cs and menu_en lang* add disable-rendering-class/enable-rendering-class text (commit: 0f12e88)
  • checkstyle (commit: 1fbc3f2)
  • update renderingModuleSettingScreen ui and java with Enable/Disable button for rendering classes, change layout for settings on the right to be in rows (commit: 18ebc2c)
  • ModuleRendering.java add boolean isEnabled attribute, isEnabled() and toggleEnabled() methods (commit: b05e155)
  • Nodes now implicitly try to pass bufferpairconnection if it's been input in them. Reflect changes in api, and test class to compile (commit: b48ee1a)
  • WorldRendererImpl.java add logger, log rendering initialisation (commit: c50a8ee)
  • refactor/generalize api methods for reconnecting, reflect this in worldRendererImpl's dagRedirect, which now enables bufferpair and fbo reconnecting (commit: 497f10a)
  • RenderGraph ++ late connection building based on all nodes' dependency connections, add postInit call added a few commits back for nodes (commit: 3bef0b2)
  • RenderGraph.java patch reconnectFbo and reconnectRunOrder, not used atm (commit: 2e576ae)
  • RenderGraph.java update, disconnectOutputFboConnection, update disconnectInputFbo, reconnectInputToOutput update, change reconnectAllConnectedInputsTo() to utilize existing reconnecting code which has been refactored (commit: 61f4b8c)
  • Fix giant problem for late graph connecting - wrong connection added, output to output - in addOutputBufferPairConnection(int,bufferpairconnection), update methods for adding output bufferpairs (commit: 333d7bb)
  • DependencyConnection.java utility method for parsing connection id, TODO direct storing of connection IDs (not a quick issue), update disconnect() with clearing of connectedCOnnections and correctly removing itself from all connected connection's connectedConnections (commit: 862fa32)
  • renderGraph.java ammend 3 line extra header removal of disconnectFbo(), probably resulted in uncompilable code (commit: bf117b1)
  • RenderTaskListGeneratorTest.java import BufferPair to compile (commit: ead646c)
  • RenderGraph.java take out explicit dag connecting. Leave late building only (commit: 8b06fe6)
  • NewAbstractNode.java add logger.info for propagating data to output connections back (commit: 4abd480)
  • RenderGraph ammend for removing explicit connecting (commit: 257c6d6)
  • RenderGraph.java update concurency problems in reconnectAllConnectedInputsTo() - create a local copy of the connectedConnections, using other more common ways of avoiding concurency (iterator.remove) would require much more work and add missing imports (commit: fc47ffd)
  • replace legacy AbstractNode with GSOC version. In other words, NewAbstractNode renamed to AbstractNode, legacy AbstractNode deleted (commit: 39738db)
  • moved AbstractNode from dag.gsoc package to dag (commit: ed5ffed)
  • replace legacy Node with NewNode and rename to Node again (commit: b05a290)
  • Move ModuleRendering to dag package (commit: 5963cd8)
  • move dummy node concept class to nodes package (commit: f9c547b)
  • rename gsoc package to dependencyConnections (commit: 6e45c6c)
  • RenderGraph.java overload reconnectInputFboToOutput() to enable Nodes as both arguments-this is required for module to find nodes by Aka (commit: f87eec4)
  • RenderGraph.java checkstyle (commit: 0a231bf)
  • DependencyConnection.java checkstyle (commit: ce40db1)
  • BufferPair - javadoc and checkstyle (commit: 4af9edc)
  • RenderingModuleSettingScreen.java checkstyle, ++ initSlider null check, --moduleList dropdown getText unused argument to String.format() (commit: 5e22eb5)
  • renderingModuleRegistry fix getModuleRenderingByModuleId() cycle which would cause nullpointer exception (commit: 5cd4524)
  • RenderGraph.java javadoc for reconnectInputToOutput (commit: 7aa3445)
  • RenderTaskListGenratorTest - change DummyNode's method parameter type from javafx.pair to BufferPair (commit: 5aeaf1b)
  • ExternalApiWhitelist - remove javafx.util, BufferPair - patch class to act as a pair. There is no need for any utils. (commit: 9ae30a9)
  • Initial removal of NUI code (moved to library). (commit: 0f6747a)
  • Moved Border class to TeraNUI. (commit: abd0617)
  • Fixed UI Tabbing. (commit: 8059678)
  • Fixed compile error with TeraEd facade. (commit: 337922f)
  • Moved org.terasology.reflections to another library. (commit: d3b20a7)
  • Fixed sound on button click and an engine test. (commit: b8790ff)
  • Fixed engine tests. (commit: 4511690)
  • Re-implemented drawing meshes on UI (fix for Inventory module). (commit: 68a5fce)
  • Removed usage of Terasology input (entity-system) events in NUI. (commit: fba2bd1)
  • Re-added support for rendering materials to canvas via CanvasUtility. (commit: e856efe)
  • Re-added UIDeltaFormat (as it implies a JSON file format, like UIFormat). (commit: 7a5b993)
  • Fixed compile errors and removed duplicate FontColor and FontUnderline classes (moved to NUI). (commit: 32f0f9f)
  • Added some additional methods removed from Canvas to CanvasUtility. (commit: 5f270c8)
  • Moved CanvasImpl (as well as its associated classes) to NUI. (commit: acf41c1)
  • partial port of kinematicCharacterMover (commit: 901f3b9)
  • added rotationYXZ in-place of quat4f (commit: 317f3a3)
  • updated rotation (commit: 9557136)
  • removed Vector3fUtil usage from KinematicCharacterMover (commit: d22fb1b)
  • ported CharacterMovmentSystemUtility (commit: e0e7b1b)
  • Update engine/src/main/java/org/terasology/logic/characters/CharacterMovementSystemUtility.java (commit: 6309a39)
  • Update engine/src/main/java/org/terasology/logic/characters/KinematicCharacterMover.java (commit: 8ae609a)
  • Allow modules access to more library packages. (commit: e0ef912)
  • Fix test error (commit: 98dc353)
  • Deal with skaldarnar's review comments (commit: 07d2105)
  • Fix LGTM warning (commit: 2a4909d)
  • ported particle system over to JOML (commit: 77f4cc7)
  • Abort load and show an error when there's no active rendering module. (commit: bceb3e8)
  • convert joml for BlockMeshLoader (commit: 6e59635)
  • Remove unused dummy node. (commit: 84c8c6f)
  • updated formatting for BlockBuilder (commit: 3d8f904)
  • Update engine/src/main/java/org/terasology/particles/functions/generators/TextureOffsetGeneratorFunction.java (commit: 58a2fe7)
  • Update engine/src/main/java/org/terasology/particles/rendering/SpriteParticleRenderer.java (commit: 62009de)
  • Bump for next version (commit: f771eff)
  • feat(JOML): Migrate PlayerSystem (commit: 46e06e9)
  • add iterable namespace for Diamond3iIterable/SpiralIterable (commit: 3ef616a)
  • moved back into math package (commit: 54f0856)
  • added precondition checks (commit: 2060816)
  • updated javadocs (commit: da38dbc)
  • fix: save seed for games created with advanced setup (#3930) (commit: b25b07a)
  • fix: Removed Google+ link (#3938) (commit: b2d61dc)
  • feat: Particle Pool Sharing (#3939) (commit: 4e3d03d)
  • corrected start distance (commit: ef08b78)
  • tweaked offset (commit: fe0942f)
  • fix: Add type handler for Class<? extends Component> (#3913) (commit: 2b12012)
  • chore: Remove CoreSampleGameplay (commit: d420902)
  • Update engine/src/main/java/org/terasology/math/Diamond3iIterable.java (commit: 198d5e0)
  • correct distance (commit: fecb8d1)
  • chore: Remove Core module (commit: 5b3f475)
  • fix: missed some references to 'Core' (commit: 93d36a4)
  • chore: Removed BiomesAPI module (commit: e44b7a5)
  • feat(JOML) Migrate side (commit: 4ca34c0)
  • fix: forgot a reference on BiomesAPI (commit: bd162d4)
  • Add and fire an event when the LocalPlayer object can be used (commit: 3d6a0dc)
  • feat(JOML) Migrate Chunk and ChunkImpl (commit: f86f7e3)
  • Migrate BlockChange to JOML (commit: dd64c52)
  • Fix BlockChange related unit tests (commit: e81f6af)
  • Fix joml migration related error. (commit: a778b4b)
  • feat(JOML) replace perspective and ortho with JOML impl (commit: 9442678)
  • Update engine/src/main/java/org/terasology/rendering/cameras/OrthographicCamera.java (commit: 09d200f)
  • correct formatting (commit: 8c3b89e)
  • added test cases for PerspectiveCameraTest and OrthogonalCameraTest (commit: dd36fee)
  • feat(JOML): Migrate Material (commit: 3eaf9ea)
  • updated javadocs (commit: 73e18e4)
  • chore(groovyw): Add command to list local modules (#3952) (commit: 23c10b9)
  • add IntelliJ configuration (version 2020.1) (commit: e4cc431)
  • .idea: keep the run configurations in here (commit: 9a1d900)
  • comments on gitignores (commit: b393f38)
  • .idea: @in annotation indicates an entry point (commit: 604b941)
  • .idea: all the old run configs (commit: c669d94)
  • .idea: set the module name in the run configs (commit: 5f67e78)
  • .idea: remove my demo run configs now that we converted the others (commit: 5375178)
  • .idea: extract configs on startup (commit: 75b4ddf)
  • .idea: test coverage (commit: 2c1bc91)
  • .idea: extract natives as well as configs on startup (commit: 3397b9e)
  • .idea: set copyright profile name to match the old config (commit: bbfb3e3)
  • chore: remove stray engine-tests outputs (commit: 339a970)
  • docs: modified javadocs (#3949) (commit: 0296292)
  • .idea: add copyInMissingTemplates to startup task (commit: 0542a41)
  • fix: add 'templates/build.gradle' to build artifacts (commit: 4c4ed04)
  • gradle: remove the direct xml modifications of idea configs (commit: 8aceb03)
  • chore: remove stray compiler outputs (#3955) (commit: 645200a)
  • style(idea): don't even use * with awt (commit: aa94fac)
  • removed camera tests (commit: 147a0c2)
  • updated javadocs for baseMaterial (commit: db90132)
  • feat(JOML): migrate ChunkViewCore (commit: 877eaa4)
  • feat(JOML): Migrate EntityPool (commit: 518626e)
  • idea: some demonstration scopes (commit: 518e46e)
  • feat(JOML): BlockRegion repalcment for Region3i (commit: 1b31a9b)
  • updated block region (commit: da755bf)
  • fixed formatting (commit: 26b9226)
  • idea: don't put a big copyright statement in .properties files (commit: e534939)
  • enhancement(gradle): automatically set "build and run using: IntelliJ IDEA" (commit: 92a192d)
  • feat: disable transient dependencies (commit: bd5670f)
  • updated BlockRegion (commit: 21858f0)
  • updated javadocs (commit: a787012)
  • correct iterable for BlockRegion (commit: f27d8cc)
  • corrected usecase in test (commit: d1c593d)
  • Apply #3971 to this file as well (commit: 7fa4da5)
  • Version bump to next minor, we're well past patch territory! (commit: f8a77b1)
  • fix(.idea): remove per-user files(1) (commit: b7eedfc)
  • fix(.idea): remove per-user files(2) (commit: 3245bba)
  • fix(.idea): Choose shortenClasspath used by java8 and java9+ (commit: 2ba0898)
  • chore(.idea): remove test run configuration for module (commit: e958df4)
  • Add shader to render particle position buffer. (commit: 38a620f)
  • Make particle pool renderable. (commit: be6c9e1)
  • Render all particles in a pool in one go (commit: e809de6)
  • Render particles as quads using a geometry shader. (commit: 0b96d3d)
  • Add alpha blending when rendering particles (commit: ff3f2eb)
  • Render particles using textures. (commit: dcbc5f2)
  • Fix view projection matrix usage. (commit: c93fa50)
  • Support scaling the particles' quads (commit: 528f9be)
  • Support texture offsets and colors for particles (commit: f4bebab)
  • Add support for custom shader versions to GLSLShader (commit: fe4d783)
  • Replace old particle shaders. (commit: 92be8c0)
  • Fix texture offsets in particle shader (commit: 5285f40)
  • Clean up the branch (commit: 8d944a3)
  • Add new required OpenGL capabilities to LwjglGraphics (commit: 33a77ef)
  • chore(.idea): return .idea/misc.xml and set project-jdk-name to "11" (commit: a089fd9)
  • fix(.idea): remove mark README as Plaintext (commit: 99c92b4)
  • docs(README): put the Java requirements next to the Direct Download information (commit: 495b795)
  • feat: Only show "augmentation" modules initially (#3973) (commit: ca7a269)
  • Merge RenderingModuleManager and RenderingModuleRegistry (commit: 2842d1e)
  • feat: Add updateComponent and upsertComponent functional methods (#3977) (commit: 0ee8e8b)
  • Small tidy-up (commit: e60b977)
  • build(idea): Import classes instead of fully qualified names (commit: b142ce9)
  • Let lwjgl do its own path hacking. Fixes compatibility with some newer JREs. (commit: e5a3398)
  • LWJGLHelper: set path for libjinput (commit: f62418f)
  • feat(build): examples of how to set native library path (commit: 14341b5)
  • Move the lib addition to a new unique exec task that also sets permissive mode to let KComputers work (commit: e64d633)
  • Remove unused import (commit: 6dfcb1f)
  • Add "return-basic-setup" label to ukrainian translate (commit: 839f37f)
  • Add a few labels to russian translate (commit: 735c0e1)
  • Fix translation (commit: 3a90b69)
  • gradle: modernize dependency declarations (commit: e05bdea)
  • gradle: update snowplow to 0.9.0 (commit: 1c75727)
  • gradle: it's spelled EXCLUDE (commit: 4717e12)
  • tidy unused import (commit: e9cd37e)
  • gradle upgrade to 6.4.1 (commit: 4664bff)
  • gradle: use java "application" plugin for the facade. (commit: c24b4bc)
  • update gradle & groovy wrappers (commit: 48fdae4)
  • gradle(modules): skip modules without modules.txt (commit: 129a914)
  • maint(gradle): tidy some repository declarations (commit: 57bd4df)
  • feat(facades): provide run tasks (commit: cd20b4f)
  • maint(gradle): tidy (commit: 8ffa463)
  • maint(gradle): snowplow needn't be both impl and api (commit: f0c0b27)
  • feat(groovyw): don't refresh build.gradle for directories without module.txt (commit: 3a92737)
  • maint(gradle): clean up logging/prints (commit: be55e2a)
  • maint(gradle): allowInsecureProtocol where necessary (commit: 6be6cf1)
  • maint: include module classes in :facades:PC:run (commit: f5c9d4f)
  • fix(engine): null checks and exception messages (commit: 769ffcd)
  • fix(build): artifactory is insecure 😱 (commit: 6cc2a20)
  • fix(build): be sure copyResourcesToClasses always runs when classes task does (commit: ed4a915)
  • fix(build): remove stray debug settings (commit: 2cc7f75)
  • doc(gradle): insecure repositories are scary (commit: 3104f79)
  • refactor(engine): prefer orElseThrow on Option instead of try/catch (commit: 9e6f33e)
  • refactor(build): declare module test dependencies (commit: 7afa3fd)
  • fix: Prevent NPE in ModuleDetailsScreen (#3986) (commit: 1da637f)
  • refactor(build): remove duplicate api & implementation dependencies (commit: 1a57e31)
  • chore(build): match crashreporter version to engine's (commit: d70d1c2)
  • chore: tidying (commit: 0e94730)
  • doc: explain why this asset gets extra error handling (commit: 386a127)
  • config(idea): wrap long lines at some point (commit: 4bb2901)
  • fix: Respawn dead player after exiting the game* (#3983) (commit: b76f775)
  • build(templates): Add JUnit 5 params dependency (#3991) (commit: 37debd9)
  • Update onto develop (#3990) (commit: d2506ee)
  • chore!: Extract BuilderSampleGameplay as tutorial module (#3995) (commit: ec8f3e2)
  • chore(build): towards kotlin: double-quote strings (commit: 517e536)
  • chore(build): towards kotlin: parens on method calls (commit: 83e28a3)
  • wip: move build template to script plugin (commit: 8124cb0)
  • chore(build): use terasology-module gradle plugin (commit: 7423bf3)
  • feat(build): kotlinify the module build script (commit: b9d1556)
  • chore(build): ignore IDEA out/ build directory in modules (commit: 5d6d466)
  • fixup! feat(build): kotlinify the module build script (commit: c371bb4)
  • chore(build): use type-safe configuration names in dependencies (commit: edfefc6)
  • chore(ide): base kotlin style settings off Kotlin standard (commit: 429c3ea)
  • feat: BlockFamily API enhancement (#3987) (commit: 83108d7)
  • chore: set the default copyright header to something shorter (commit: 0293b53)
  • fix(lang): remove duplicating entry. uk lang (commit: 1a5b8ce)
  • fix(lang): correct language(ru) entry. Text was lyric or/and a bit confused. (commit: 9bff4b9)
  • fix(DAG): change message for "No renderer". fix gradle configuration(merge implementation and apiElement for dependency 'libs/*.jar') (commit: 82e251e)
  • fix: prevent crash entering rendering settings with no renderers (commit: 4050f67)
  • fix: this method is not nullable (commit: b79ef4d)
  • refactor: make use of return value (commit: 64dbb12)
  • refactor: BlockItemFactory to remove code duplication (commit: fc52c9c)
  • feat: Keep components listed as retain components when creating a block item (commit: d35eac3)
  • fix: gracefully catch and report errors that happen during game load (commit: 9b7348c)
  • refactor(BlockItemFactory): better names; use RetainComponents (commit: e96f45c)
  • doc: Update doc for RetainComponentsComponent (commit: 667b373)
  • refactor: use common super type ComponentContainer in BlockItemFactory (commit: 729c1ac)
  • refactor: make use of ::updateComponent when adjusting block item components (commit: 7be9627)
  • doc(BlockItemFactory): doc class and builder methods (commit: c604859)
  • doc(BlockItemFactory): doc for BlockItemFactory::newInstance methods (commit: dda7017)
  • doc(BlockItemFactory): finalize documentation for class (commit: b24cdaf)
  • Update engine/src/main/java/org/terasology/world/block/items/BlockItemFactory.java (commit: a5bee8e)
  • . improve conversion to byte by using SignedBytes::saturatedCast (commit: 9b47bc5)
  • feat: Ceiling BlockFamily (#3978) (commit: f130438)
  • Better logging on update-all (commit: 521727c)
  • Skip if updated within last two minutes (commit: 32b92b5)
  • remove extra line break (commit: b46d642)
  • correct gradle version (commit: 60d95df)
  • tweak build.gradle (commit: f2d2324)
  • Honor Gitignore (commit: a8615d7)
  • feat: Improve block placement of ceiling-supporting family (#4010) (commit: c5a2d2d)
  • fix: reintroduce rendering/dag files, fix import issues (commit: ccd433c)
  • chore: more descriptive error message on spawn failure (#4005) (commit: e7f23fd)
  • fix(docs): replace some develop instructions with links to the wiki. (commit: 78b92fd)
  • doc: copyright holder is The Terasology Foundation (commit: ef63c22)
  • honor ALL gitignores, require relative path (commit: 0542156)
  • Revert "Skip if updated within last two minutes" (commit: 3d4a44d)
  • remove relative path requirement (commit: 5c9f922)
  • fix: do not skip setting default world generator for default gameplay module (commit: 7585a2d)
  • fix: remove use of raw types (commit: fa406a6)
  • fix invisible skeletalmesh (#4023) (commit: 1f6baf2)
  • chore: Update to Groovy Wrapper 2.0 (commit: 902aff8)
  • chore: Update warning for Java > 8 to be milder, at least for the 9-11 range (commit: 951c3d9)
  • feat: New Groovy utility command to grab named sets of source modules plus tell user if they have no source modules (commit: d41c179)
  • chore: Delete obsolete IntelliJ bat file (commit: 0d5ae98)
  • chore: Improve logging (commit: c08bc73)
  • feat(JOML): Migrate MeshRenderer (commit: 0300ce5)
  • feat(JOML): Migrate ViewFrustum (commit: 563ebf7)
  • refactor(engine): keep dev & main directories, but only one source set (commit: 225d3c4)
  • modified simplex, perlin to allow variable perms (commit: d00c2e7)
  • Revert "honor ALL gitignores, require relative path" (commit: 05ce518)
  • set up --continue flag and skip modules non alpha (commit: b8cc25d)
  • Revert "Revert "Skip if updated within last two minutes"" (commit: b9b1780)
  • Add isRecentlyUpdated method (commit: 7055b68)
  • feat(JOML): Migrate EntityAwareWorldProviderTest (commit: da17c56)
  • swap new Vector3i(0,0,0) to new Vector3i() (commit: 8eee84f)
  • Check fetch_head exists and update modified time (commit: ecc2a8c)
  • check fetch_head exists before updating time (commit: bcdf1d2)
  • Fix imports (commit: 6e828dc)
  • Fix issues related to Joml vector conversion (commit: 6ad4c07)
  • Add utility functions for rectangle conversion to JomlUtil (commit: 1d9abe0)
  • Fix issues related to Joml rectangle conversion (commit: 591b405)
  • fix(Particles): disable particles, when driver or GPU not supports OpenGL 3.3 (commit: 3cc2d0f)
  • add jomlutil for abb and tweak ViewFrustum (commit: 4264269)
  • redirect intersects (commit: 51ce855)
  • refactor: remove dead code (#4016) (commit: 012985c)
  • fix: standalone module builds work again (commit: 6e1b0c2)
  • chore: Configure spotbugs better (commit: b15feba)
  • chore: Adjust config for engine Spotbugs reporting (commit: 1bf6a8d)
  • chore: Add another label to allow use of heavier build agents (commit: fc287e8)
  • fix(gl3.3): remove OpenGL3* from extensionNames(used for output, if have problems) (commit: 3cabfa7)
  • fix(StateLoading): show localized messageOnLoad (commit: 08a952b)
  • Update config/groovy/util.groovy (commit: bbdf253)
  • Feedback changes (commit: d90f4a1)
  • dumb typo fix (commit: 3ab5ed6)
  • Adding comments, small cleanup (commit: 8ed025a)
  • Switched the order of arguments in a method call to solve a typo. (commit: 7b61885)
  • Make AABBRenderer available to modules (commit: 7bd8d11)
  • correct test and cleaned up code format (commit: 3f428cf)
  • remove extra spacing (commit: f62fa46)
  • chore: linting 🚮 (commit: cbf3806)
  • feat(build): treat libs/ as "included builds" (commit: bda3fa1)
  • chore(build): rename subprojects.gradle to .settings.gradle (commit: c4b304b)
  • Converted Terasology UI widgets to JOML. Fixed crash on game start. (commit: b8698f3)
  • fix: use joml 1.9.25 method names (commit: 78f98b8)
  • fix: security hassle from a plugin (commit: 754bc91)
  • feat(JOML): Correct matrix output for Camera#getProjectionMatrix() (#4028) (commit: 26f605b)
  • feat(JOML): Migrate transpose Camera#getInverseProjectionMatrix() (commit: ad0dd44)
  • perlin noise tileable (commit: 00c1881)
  • feat(JOML): Migrate transpose Camera#getViewMatrix() (commit: 9e79f2b)
  • Don't serialize particle pools. (commit: b955fe6)
  • Add popup if starting game without modules (commit: 7a69d7a)
  • add tileable noise support, docs (commit: 38aced9)
  • typo fixes, incorrect modulo operator usage fixed (commit: 1e0ffa1)
  • Add ayrustogaru to game credits (commit: bdb2ff4)
  • Add setMaxIcons to UIIconBar (#4058) (commit: 3202939)
  • fix: added RetainComponentsComponent check to SetBlock (#4060) (commit: d8c5b25)
  • Update .idea/misc.xml (commit: f20386c)
  • always try loading classpath jars as modules (commit: c067687)
  • Increase time for replay tests, possible workaround for #4047 (commit: 2ff5634)
  • feat(JOML): Migrate ChunkMath (#4029) (commit: fd6c220)
  • set fallback to engine:default rather than Behaviors:fallback (commit: 38bf449)
  • set correct class for Share in CollectiveBehaviorSystem (commit: e27a58a)
  • Increase item pickup range. (commit: 79c85d6)
  • Derive item-pickup collider programmatically instead. (commit: 1eff3ee)
  • update perspective transposeNormViewMatrix (commit: fe88e00)
  • add normviewMatrixReflected (commit: ca5ff2c)
  • migrate camera (commit: a3fd97c)
  • Make the height of the shapes derived from CharacterMovementComponents more consistent. (commit: 11eeef8)
  • clean up camera code (commit: df880bd)
  • feat(JOML): migrate submersibleCamera (#4070) (commit: 6b03034)
  • fix: name tags in multiplayer mode (#4080) (commit: 799f432)
  • correct formatting (commit: 86ec576)
  • tweak meshRenderer (commit: 1c818a0)
  • remove discord xml (commit: e004239)
  • Derive player height from CharacterMovementComponent instead of BoxShapeComponent (#4077) (commit: dc32100)
  • feat(JOML): Migrate PhysicsEngine#awakenArea (#4083) (commit: 297a92c)
  • feat(JOML): migrate Tessellator (#4084) (commit: b337de8)
  • small typo fix (commit: 01979db)
  • fix(#4074): check nulls in Interpreter#toString() (#4076) (commit: ae17c8d)
  • Update for Fluid PR 19 (#4081) (commit: 45c6546)
  • Use Gradle included builds in libs/ for easy source substitution (#4082) (commit: 99bd178)
  • chore: Tweak target version for extracted NUI (commit: 894b4d9)
  • chore: Adjustments needed for various engine changes since last merge (commit: fca8f0e)
  • doc(ValueModifiableEvent): Add docs and contracts (commit: a04ce1b)
  • fix(AbstractValueModifiableEvent): simplify calculation of result value, document guarantees (commit: 3ddfff1)
  • feat(FlowLayout): add option for vertical spacing (#4089) (commit: b2db697)
  • Reduce verbosity of rendering output. (commit: 3b01073)
  • fixed the load latest configuration (commit: 287b25d)
  • small refactor (commit: dc22501)
  • fix: correct precedence in computing result value (commit: 0fd27b8)
  • fix: disable behavior editor for clients in multiplayer (#4096) (commit: 737b65b)
  • fix(GameProvider): prevent creating game with duplicate name (#4064) (commit: 0072af3)
  • Add BeforeAfterEvent (commit: d05976e)
  • feat(AGS): by default show only locally present modules (#4097) (commit: 6283a6d)
  • fix: Actually register InputSystem as system (#4098) (commit: 140961d)
  • Make EntityRef.copy and related things deeper (commit: f30a507)
  • Make deep copying optional (commit: 3519b03)
  • Reduce dependency on EntityRef (commit: 341a1a3)
  • Fix javadoc (commit: 338f7ce)
  • docs: Improve docs for BeforeAfterEvent (commit: 466628e)
  • Respond to Cervator's review (commit: ce970dd)
  • feat(JOML): migrate GazeMountPointComponent (commit: c523221)
  • clean up documentation* for* MatrixUtils (commit: f904862)
  • feat(FlowLayout): Add option for horizontal spacing (#4090) (commit: 5a99650)
  • fix: reduce timing-based test failures on CI (commit: d97799a)
  • Update credits (commit: eff4172)
  • feat(JOML): Migrate BackdropProvider and Skysphere (commit: 3846c9b)
  • feat(JOML): Migrate RegionOutlineRenderer (commit: f21ef98)
  • feat(FlowLayout): Add option for right-to-left align (#4108) (commit: 6bad5ef)
  • fix: Increase connection timeout for clients as heavier module setups can take a while (#4113) (commit: 68eefe2)
  • fix: Even longer timeouts and now two of them, to support heavier JS (commit: 0216049)
  • feat: Add ModifiableValue type (#4094) (commit: 7a86e75)
  • feat: new run config to recreate the most recently launched game automatically (commit: 7a0504a)
  • chore: use v1.0.0 release of TeraNUI (commit: 19b3ee2)
  • chore: build with TeraNUI v1.1.0-SNAPSHOT for testing (commit: ad1b1b3)
  • test: fix growBorderMax test by removing JomlUtil conversion (commit: fc9846d)
  • fix: allow game to quit without waiting for registry updater thread (#3953) (commit: 25b81f4)
  • move tests to MovingBlocks/TeraNUI#15 (commit: bfbb10e)
  • perf: simplified check for rendering ready. (commit: 6504886)
  • chore: remove unused method (commit: 048307d)
  • Add separate method for negative result value calculation (commit: e9e7ac9)
  • Reduce code duplication (commit: c231f3a)
  • use @see for javadocs (commit: 227d390)
  • fix: update TeraNUI dependency to 1.1.0 release. (commit: 6b54403)
  • chore: update TeraMath dependency to 1.5.0 release. (commit: 5f1b733)
  • fix: concurrent modification error in update method (commit: b34013d)
  • fix: use TeraBullet 1.3.2 which fixes #3559 (weird fence physics) (commit: 1e00d3c)
  • feat migrate nui canvas for Colorc (commit: c96d7d0)
  • Mark injected fields as transient in ConditionAction (#4137) (commit: 5f51a34)
  • core: remove some unused imports (commit: 98e28ef)
  • feat: use newer version of our NUI lib (commit: 54a3b53)
  • feat: use newer version of our NUI lib, now with more NUI (commit: 1e33e71)
  • chore: Extract relevance code for ChunkProvider's to RelevanceSystem (commit: 689773b)
  • doc: Add javadocs to RelevanceSystem (commit: ecc25ee)
  • refactor: rename RelevanceSystem's methods (commit: 86703ad)
  • chore: Copyright, remove unused constructor parameter (commit: 256adff)
  • fix: fix constructor usage with remove parameter (commit: 4b2fa07)
  • chore: revert package-info.java for protobuf (commit: 0b5beb8)
  • fix: Gradley weirdness about a Directory/DirectoryProperty thing differing on Windows vs Linux (commit: 112d30e)
  • fix(performance): optimize ModuleEnvironmentSandbox.getSubTypeIdentifier (commit: c35f5c3)
  • chore: move common getSubTypeIdentifier implementation to interface default (commit: 7890da9)
  • feat(JOML): partial migrate of LocationComponent (#4051) (commit: 38fba56)
  • doc: Include disclaimer over common multiplayer issues, like #4152 or #4154 (commit: fa04a55)
  • doc: Slight doc improvements and cleanup (commit: 21f557e)
  • release: v4.0.0 (commit: fc7c4e1)

Don't miss a new Terasology release

NewReleases is sending notifications on new releases.