[NSFW] Prelewd Radial Menu Customization / PFM updates (Patreon)
Content
Prelewd
I've been working on some Sims-style radial/pie menus to replace the drop-down menus for character customization:
https://prelewd.pragma-engine.com/uploads/videos/radial_menu_demo.mp4
They're going to be a Patron++ exclusive feature for Prelewd with the next update, but I'm also going to include them in PFM for everyone in a future update 😄.
I've also created a short video tutorial on how to create new Prelewd projects:
http://prelewd.pragma-engine.com/uploads/videos/new_project_example.mp4
There'll be some more detailed, written instructions soon as well. The next update should be out some time next week!
Pragma / PFM
I've set up a new page on the wiki for the Pragma and PFM changelogs:
https://wiki.pragma-engine.com/books/pragma-engine/page/changelog
Changes are now split into categories (Filmmaker/Pragma/Lua) to make it a little more organized, and I'm documenting all changes from now on instead of just the major ones:
Here are the changes for the latest two versions:
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