Changelog

Version 0.9.11 [2020-11-11]

Filmmaker
  • Cycles render settings are now saved with the project
  • Changed frame render order when rendering animations with external render tool for easier quality control
  • Added support for detail maps when rendering with Cycles
  • Fixed emission textures having no effect when rendering with Cycles
  • Fixed IOR value being set improperly when opening material in material editor
  • Fixed material editor not updating properly when switching to a different material
  • Fixed HDR output format not working properly when rendering with Cycles
  • Changed default gamma correction value when rendering with Cycles to 2.2 (was 2.4 before)
Engine
  • Added support for $detail, $detailscale, $detailblendfactor, $detailblendmode and $detailtint VMT parameters
  • Added CS: GO to default game mount list
  • Fixed issue where entities with morph target animations would get visually corrupted if they were made invisible and then visible again
  • Fixed issue where ingame cursor position would mismatch actual cursor position in fullscreen windowed resolution mode
  • Fixed issue where camera would move upwards continuously in fullscreen windowed resolution mode
Lua
  • Replaced class game.Scene with ents.SceneComponent
  • Added ents.SceneComponent.OcclusionCullingMethod enums
  • Added game.Material.DetailBlendMode enums
  • Added game.Material.detail_blend_mode_to_enum
  • Added ents.SceneComponent:SetOcclusionCullingMethod
  • Added game.Model:GetBodyGroupMesh
  • Added game.Material:SetShader
  • Added ents.Entity:GetBodyGroup and :SetBodyGroup overloads for body group IDs
  • Added ents.BaseEntityComponent:Save, ents.BaseEntityComponent:Load and ents.BaseEntityComponent:Copy
  • Added ents.Entity:RemoveFromAllScenes and ents.Entity:AddChild
  • Added debug.breakpoint (Only available if -luaext was specified in the launch options)
  • Added math.Mat4:ApplyProjectionDepthBiasOffset
  • Added ents.RenderComponent:SetReceiveShadows and ents.RenderComponent:IsReceivingShadows
  • Added ents.EyeComponent:ClearViewTarget
  • Added util.DataBlock:GetVector2
  • Renamed game.create_scene to ents.create_scene
  • util.remove now has a second argument for removing objects safely (if available)
  • toboolean and toint now accept numbers and booleans as arguments
  • Changed parameter order of ents.create_prop

 

Version 0.9.10

Filmmaker
  • Added Cycles option for setting the number of frames to the end of a clip or session
  • Render jobs now take up a lot less disk space for animations (static geometry is now stored shared instead of every frame)
  • Slightly improved overall rendering speed
  • Fixed rendering taking up your entire CPU resources when rendering with your GPU
  • Fixed an issue where rendering several times consecutively could slow your PC down to a crawl
  • Fixed VR renders being flipped horizontally
  • Fixed a denoising issue which caused less than optimal denoising quality
  • Fixed issue where the tiles in the final image would have mismatching sample counts and some tiles would be lower quality as a result
  • Fixed render preview not being interactable when rendering VR images
  • Fixed potential crash when doing a preview render with the Vulkan renderer being used
Engine
  • Minor occlusion culling performance optimizations
  • Greatly improved reflection probe rendering speed
  • Fixed issue where entities would get rendered with error materials if their skin would exceed the max skin count of their model
  • Fixed bone scaling not working correctly
  • Fixed massive performance hit for light sources that cast shadows in the past, but had shadow casting disabled
  • Fixed BSP occlusion culling not working for imported Source Engine maps
  • Fixed meshes not being rendered if entity skin exceeds maximum skin count
  • Improved lightmap implementation
  • Various minor bug fixes and improvements
  • Improved loading times when starting a game
Lua
  • Added class util.Version
  • Added exec
  • Added ents.create_prop
  • Added ents.AnimatedComponent:SetBindPose and ents.AnimatedComponent:GetBindPose
  • Added ents.LightMapComponent:UpdateLightmapUvBuffers, ents.LightMapComponent:ReloadLightmapData and ents.LightMapComponent:SetLightmapAtlas
  • Added ents.LightMapReceiverComponent:UpdateLightmapUvData
  • Added gui.Element:InjectMouseClick and gui.Element:InjectKeyPress
  • Added ents.Entity:IsDisabled and ents.Entity:IsTurnedOff
  • Added util.Path:CreateFilePath and util.Path:CreatePath
  • Added ents.MapComponent:GetMapIndex
  • Added ents.AnimatedComponent:PlayAnimation overloads for playing animations by id
  • Added util.DataBlock:ToString
  • Added game.Model.Frame:Copy, game.Model.Skeleton.Bone:IsAncestorOf and game.Model.Skeleton.Bone:IsDescendantOf
  • Added math.calc_average_rotation
  • Added file.strip_illegal_filename_characters
  • Added game.Model.Mesh:GetReferenceId
  • Added game.Model.Mesh.Sub:FlipTriangleWindingOrder, :SetVertexCount, :SetIndexCount, :AddUVSet, :GetUVSetNames, :SetVertexTangent and :HasUVSet
  • Added string.hash
  • Added new overload for game.Model.Mesh.Sub:GetUVs:SetVertexUV:GetVertexUV with UV set parameter
  • Changed argument format for util.pack_zip_archive
  • Renamed ents.AnimatedComponent:GetBindPose to ents.AnimatedComponent:GetBoneBindPose
  • util.remove now accepts a table as argument
  • file.write now automatically creates the file path if it doesn't exist
  • File write operations now accept paths that include "addons/<addonName>/" as prefix