Skip to main content
Git Changelog
PFM (23-03-31)
Features
"Base Properties" item in actor editor is now hidden for components that have no base properties (58ad221 )
actor bones now show in viewport when hovering over a body part (254a3c2 )
actor property values are now initialized from project after main component initialization and before entity spawn (e6d9b8d )
add "OnChannelAdded" and "OnChannelRemoved" callbacks for animation manager (3028942 )
add "Save as Copy" menu bar option (14219d1 )
add additional tooltip information to actor editor constraint icons (2e721f8 )
add additional version information (c04a956 )
add AnimationManager::FindAnimation for finding/creating the animation of a specific actor (b500690 )
add axis lines to translation gizmo (19ce11d )
add bloom component action for viewing scene bloom (a4bc32e )
add context menu option to jump to target property for property references in actor editor (7ffe128 )
add context-menu option for going to driver properties of constraints in actor editor (75a804a )
add feedback messages when shader kernels are being built (5f9db8f )
add film clip context menu options for editing film clip properties (d2162bb )
add gui.PFMViewport:ScaleSelectedActors (d84df2a )
add hover text for selected bone in viewport (9674035 )
add interactive skeleton visualization (235e50c )
add menu option to convert scenebuild of current project to map (de73ba9 )
add menu option to start lua debugger server (bd6e21e )
add meta type information for transform properties of pfm_actor component (23bd079 )
add model explorer option to convert model from/to ascii/binary format (162f983 )
add mouse hover selection outline effect (8a5754b )
add option to create "child_of" constraint through actor editor (10d4a8d )
add option to remove drivers and constraints via icon in actor editor (4bebe88 )
add outline effect component (3ea6fe5 )
add PFMTreeViewElement:AddUniqueIcon and :ClearIcons (70bcef9 )
add saving / loading to ik rig editor (7348c27 )
add support for property reference component property types (49805d2 )
add support for read-only component properties in actor editor (1456594 )
add support for very large render resolutions (0ea820c )
add tiled rendering for pragma renderer (0f19281 )
add tutorial system (a35ca15 )
add update-checker (8d965e4 )
add utility functions and identifiers for tutorial system (6030ef5 )
add vr_manager component (wip) (b411791 )
add world axis gizmo (52ba356 )
adding a constraint or math expression now automatically adds a single-value animation channel if one doesn't exist (c44eadc )
all logging categories are now enabled by default if log parameter is not specified (ba01a4d )
animation drivers can now be created through actor editor (eb05de4 )
anim: bones can now be selected by clicking a triangle weighted to that bone (1416fbb )
anim: non-selected IK bones can now be directly clicked and moved in viewport (ea6f8d5 )
anim: selected bones are now highlighted (b465641 )
apply changes for Silverlan/pragma@e6e7bb59 (ab4cfcd )
asset,gui: add missing gui material files for detaching windows (a353b92 )
bones in actor editor are now displayed in hierarchical order (ca59b1c )
camera settings are now saved and restored to/from projects (132c05d )
change implementation of util_transform component to allow usage in secondary scenes/viewports (df35060 )
component lists in actor editor now use localized component names (569e80c )
component properties with a single animation value can now be edited directly outside of graph editor (caca401 )
components in actor editor are now listed directly below actors instead of "components" sub-item (703fa63 )
converting map to actors now takes scale into account (e0e5d9a )
copying the property path of a property now includes the full path including actor id (d41ff17 )
current project file name is now displayed in window title bar (363e53d )
dev: add option to assign actor component to x / y variable via right-click context menu in actor editor if developer mode is enabled (3a22890 )
disable bloom for transform gizmos (58e4438 )
disable motion editor button (3e8f00f )
ecs: add option to specify ik rig from file for ik_solver component (ad57536 )
ecs: add pfm_project_manager component for creating PFM scenes outside of PFM (f43f679 )
ecs: remove ik_solver component (5f7fc65 )
emission_factor for cycles pbr shader can now be used without emission texture (3e156cd )
enum-based component properties no longer list "Count" as an option in actor editor (6f9f12f )
gui: add ik rig editor (8d5dffc )
gui: add option to add simple non-editable text properties to control menues (6c1c3e5 )
hide render options not supported by selected renderer (2edcc14 )
ik rig editor updates and improvements (0b92277 )
ik: add ik components (wip) (a63e07f )
ik: increase precision of ik solver (90d4081 )
implement changes for Silverlan/pragma@0c91c31c (4668b27 )
importing asset into model explorer now gives an option to import as collection or as single model (55b0565 )
importing assets via model explorer now imports into sub-directory (e32e3ee )
improve skeletal bone visualization in viewport (0315c90 )
locale: add ik rig editor localizations (758c199 )
locale: add Japanese translation (2c9fa7b )
locale: add localization for components and component properties in actor editor (cfc0579 )
locale: add missing localizations (9115eec )
locale: add missing localizations (a464a92 )
locale: update localizations (dfde1a8 )
math expression window now gives immediate feedback about validity of expression (88cfd5d )
model browser now automatically refreshes after importing assets (9de100f )
moving actor between collections is now instantaneous (50c2ff8 )
PFM projects can now be marked as read-only (0e423a5 )
pfm projects can now be saved/loaded in ascii format (4647fc2 )
pfm_actor component now also adds origin component (a6793d8 )
placing an actor through the model catalog now assigns the model name to the actor's name (f71b3f3 )
properties in actor editor now only display the base name of the property instead of the full name (d31eb26 )
remove origin component from pfm_actor component (e8f2679 )
rename "track_to" constraint to "look_at" (see Silverlan/pragma@da75b3f6 ) (aab83b5 )
replace selection wireframe with outline effect (d0fb7f5 )
selecting an actor in the viewport now automatically scrolls to it in the actor editor (c5e5363 )
sfm projects can now be imported from directories other than "elements/sessions/" (f41b93c )
shaders: add missing particle shader files (d786f7e )
tutorial layout changes (7c4e058 )
UDM editor now has options for creating new UDM files, importing UDM data or saving as new file (1789cce )
various actor editor additions (74ac3b7 )
various ik rig editor additions and improvements (3019232 )
various tutorial system improvements (c0c97e9 )
version info can now be clicked to copy it to clipboard (1ad002f )
vr: vr manager now automatically creates actors for all recognized tracked devices (1add829 )
Bug Fixes
add missing include (2d00d50 )
constraint menu no longer shows up for string-based properties (73fcbc5 )
debug objects are now longer included in renders when using Pragma renderer (edbdf52 )
fix "Save As" not updating internal file name to new file name (e529ab0 )
fix ascii-based models not appearing in model explorer (fda5dcd )
fix clicking mesh not detecting correct weighted bone properly (864004e )
fix component property values of type 'entity' not getting saved/loaded properly to/from a PFM project (68ca36c )
fix device type settings in render options being inverted (fc4f53d )
fix gui.PFMTreeViewElement:SetIdentifier not registering identifier with parent (3f18518 )
fix importing map not importing prop_dynamic entities (a446d9c )
fix incorrect class name for pfm_project_manager component (1dfd98c )
fix light sources not showing up in secondary viewports (8118eb8 )
fix low-resolution preview render image (c0f888d )
fix lua error when auto-saving (0e818e4 )
fix lua error when baking lightmaps (84a714c )
fix lua error when changing component property values (1b55a9f )
fix lua error when changing property values (7d7492a )
fix lua error when clicking ik handle in viewport (25c38e2 )
fix Lua error when launching PFM (5baf87d )
fix Lua error when moving actor to empty collection (b71a946 )
fix lua error when rendering if opencv module is not installed (ab71e1e )
fix lua errors (8bec2e8 )
fix lua errors if actor is spawned with unknown component types (8bf3ff3 )
fix Lua errors in ik rig editor (deb7eb2 )
fix lua errors when adding or removing constraints (70dddfe )
fix potential crash when selecting or de-selecting spot-light actor (a3bc308 )
fix quick-ik in actor editor not working properly (68a190b )
fix removing pfm_skeleton component not removing visual bones (3ceb0c9 )
fix some items in actor editor tree having incorrect identifier assigned to them (1288805 )
ik: fix broken ik behavior for actors without the pfm_model component (8ed45f6 )
locale: fix changing language not being saved (e997b2d )
resolve issue where actor editor component icons would disappear in some cases (f2bd880 )
resolve issue where actor editor component property list would not get reloaded when component properties change (a81095c )
resolve issue where camera projection matrix would not be reset properly after tiled rendering (aebe5c8 )
resolve issue where clicking constraint icon in actor editor would not select associated property properly (1226112 )
resolve issue where incorrect slider step size would be used for slider UI elements (988bea9 )
resolve issue where removing an actor could result in corrupted actor references (6f9ad31 )
resolve issue where sky actor would appear with error texture (5ba11fc )
resolve issue where transform gizmo arrows would not transform in correct space (41b7ee3 )
resolve issue with actor model being initialized too late, causing dependent component property values to not be initialized properly (fa03294 )
resolve various issues caused by filmmaker being initialized before game is ready (d690b82 )
resolve various issues related to transform gizmo (1667afe )
Pragma (23-03-31)
Features
"scale" keyvalue for prop and transform components now accepts vector values (755e0cd )
add additional error reporting if model loading or importing fails (e0853ac )
add base editor UI element identifiers (2fc6c4d )
add bloom component properties (56042d1 )
add console commands log_level_console and log_level_file for changing log levels on the fly (8a6becd )
add error handling when saving a model (cd7524d )
add functions for getting parent pose of transform-based component properties (e4c108b )
add git sha to version information (7b34f3c )
add global string table (6f67c6a )
add gltf import support for multiple mesh instantiations (b70ee2a )
add gui.WIBaseEditor:GetContentsElement (31c18be )
add logging messages for lightmap system (6d7813e )
add missing log_file launch parameter (15c0e4c )
add model flag for indicating if model is world geometry (75930c4 )
add Model::RemoveUnusedMaterialReferences (91bfd95 )
add new logging system (7d8c965 )
add on-complete callback to util.import_assets (1ab7ffd )
add option to calculate projection matrix for tiled rendering (d862e63 )
add ostream overloads for entity reference types (10554e5 )
add support for importing gltf scene as map with multiple models (802061e )
add support for Lua development and debugging with Visual Studio Code (405dabf )
add udm lua bindings (b66c082 )
add udm.BaseSchemaType:ReloadUdmData (43357c3 )
add util::generate_two_pass_gaussian_blur_coefficients (f1c9c92 )
add util::to_image_buffer overload for providing a pre-existing staging image (00397a6 )
add WorldData Lua bindings (68eaa49 )
anim: add multi-threading for animations (36029e2 )
anim: implement constraint influences (ec65ae4 )
asset: add skybox materials (11fa969 )
asset: replace toolsnodraw texture (3b18acc )
code cleanup (e4ad13f )
debug_aim_info command now attempts bhv raycast before physics raycast (6c27acb )
debug: add info.txt to crashdump (955642d )
debug: add logging information (74977af )
debug: crash dump now includes vendor information about all available GPUs on system (772db85 )
debug: crashdump now includes device id for available GPU devices (44fde2e )
debug: re-enable crashdump exception information (b49bdaf )
ecs,animation: add animation constraint system (e628639 )
ecs,lua: add option to specify type meta data as well as custom setters and getters for Lua-based component properties (8222143 )
ecs,lua: lua-based component properties using the PoseTypeMetaData type meta data are now automatically associated with respective pos/rot/scale properties (0c91c31 )
ecs: add "pose" property to ik solver component (07b37ee )
ecs: add BaseBVHComponent::GetVertex (a62a322 )
ecs: add child_of constraint component (679f76e )
ecs: add component property meta type data (fed2d66 )
ecs: add component property parent meta type (2d8f34f )
ecs: add constraint component events when driver or driven object has changed (88301a7 )
ecs: add constraint entity component types (1410021 )
ecs: add event callback when clearing material overrides for model component (904fa93 )
ecs: add ik_solver component (a69e632 )
ecs: add methods for retrieving coordinate-based component properties in specific coordinate space (b26c539 )
ecs: add origin entity component (e9b5029 )
ecs: add pose type meta data for associated pose properties with pos/rot/scale properties (8b24818 )
ecs: add property component member type (5bde6fc )
ecs: add read-only member property flag (a08a204 )
ecs: add track_to constraint component (06001d5 )
ecs: BaseGenericComponent::EVENT_ON_MEMBERS_CHANGED now includes event data struct with component information (23f75d9 )
ecs: implement constraints: limit_location, limit_rotation, limit_scale (34a3b26 )
ecs: improve performance of composite component (08aaacb )
ecs: rework and rename track_to constraint to look_at constraint (da75b3f )
emission_factor material property can now be used without emission map (39fa66c )
Engine::AddTickEvent is now thread-safe (c00bd5d )
entity model bodygroups are no longer reset on spawn (16c1177 )
ExprTk: update to version 0.0.2 (e354bb2 )
force panima animations to always update, even if timestamp hasn't changed (6f23fb2 )
gui,lua: add gui.ScrollContainer:GetWrapperElement, :ScrollToElement* functions (4156f14 )
gui: add option to disable automatic rendering when setting scene for WIViewport GUI element (21c9131 )
gui: add option to disable menu item (489659b )
ik: add full-body ik system (8455946 )
improve bloom effect (17c4e54 )
improve lightmap quality (1cfd4d2 )
lad: add math alias definitions to meta lua documentation (810844b )
lad: add math alias definitions to meta lua documentation (fd4b7b5 )
lad: update lua meta documentation files (d1326d9 )
lightmap data cache component now initializes data cache automatically (6bdbe84 )
locale: add debug logging messages (bd52a4a )
locale: add Japanese translation (ee424f3 )
locale: add localization for components and component properties (b6b1d40 )
locale: update localizations (31767f6 )
log system improvements (79a12ff )
loggers are now flushed whenever error or critical messages are printed (6cfcb81 )
log: info messages now have the "[info]" prefix if printed using the logging system (9113847 )
log: warning, error and critical messages are now completely colored in (baede6a )
lua-based shaders no longer re-initialize material descriptor set when it is not necessary to do so (c199a10 )
lua,ecs: add component property reference bindings (228dab7 )
lua: add console.invoke_change_callbacks binding (c568ec2 )
lua: add constraint function bindings (727389f )
lua: add ents.AnimatedBvhComponent:RebuildAnimatedBvh binding (dc377f4 )
lua: add ents.AnimatedComponent:GetEffectiveBoneTransforms binding (d53c570 )
lua: add ents.EntityComponent:InvokeElementMemberChangeCallback binding (6af95ce )
lua: add ents.is_member_type_animatable binding (51a2271 )
lua: add ents.parse_uri and ents.create_uri bindings (d69df6f )
lua: add equality operator for prosper.Window objects (3365a0a )
lua: add game.is_game_initialized, game.is_game_ready, game.is_map_initialized (f3744d7 )
lua: add gui.get_element_under_cursor overload with base element parameter (2589c61 )
lua: add ik rig lua bindings (5b7735d )
lua: add Lua bindings for log library (c536f87 )
lua: add math.Transform constructor with ScaledTransform argument (c3ef7ed )
lua: add missing entity component type meta data bindings (e655387 )
lua: add model, physics and misc bindings (807dc8c )
lua: add options for custom push constants and material data initialization for Lua-based shaders (03c9f4c )
lua: add panima function bindings for merging channels and animations (521991c )
lua: add panima.Channel:TestValueExpression (8705de2 )
lua: add parameter to asset.import_model and asset.import_gltf for importing model as collection or single model (2038c26 )
lua: add prosper.Window:GetWindowTitle (9c91196 )
lua: add string.snake_case_to_camel_case and string.camel_case_to_snake_case bindings (273feb0 )
lua: add support for displaying object types when debugging with lua-debug (e5a474b ), closes /github.com/actboy168/lua-debug/issues/237#issuecomment-1477469263
lua: add support for displaying object values when debugging with lua-debug (2451782 )
lua: add udm.is_convertible binding (9535e18 )
lua: add util.ImageBuffer:Insert bindings (7cc2ff8 )
lua: ents.Entity:FindMemberInfo now also returns component reference (8018ad9 )
lua: rename ik.Solver:RemoveDragControl to ik.Solver:RemoveControl (9f498d7 )
map format can now contain entity component data (de913ce )
performance improvements (71fb75c )
reduce weight of directional light sources when calculating dominant light direction (b935e2b )
remove ambient color from shader render settings and add camera fov (e6e7bb5 )
update intel vtune path references to version 2023.0.0 (812e0f7 )
update panima submodule (04c72ec )
update sharedutils submodule (7d0e338 )
update sharedutils submodule (048f8a4 )
update sharedutils submodule (8476465 )
update util_image submodule (8b48504 )
various animation driver updates and improvements (80953a8 )
windows: change console font to "Ubuntu Mono" (f290627 )
Bug Fixes
add missing include (c16c6d1 )
add missing origin component source code files (c1ad5eb )
changing collisions of a physics constraint having no effect (e76ac98 )
clang compile error (b147489 )
crash when doing mouse or keyboard input before main window has been created (4855962 )
ecs: add missing component property registration for bone pose property of animated component (edb3798 )
ecs: fix enabling or disabling axis for child-of constraint not having any effect (362dbed )
ecs: fix Lua errors in lua_script component (343ec34 )
ecs: fix lua errors when loading lua_script entity component (a32a0d4 )
ecs: fix space constraint component axes being inverted by default (83fae4a )
ecs: resolve various ik_solver component issues (9ab5716 )
ecs: resolve various ik_solver component issues (5931047 )
fix "color" keyvalue for color component being interpreted incorrectly (4a3faa4 )
fix "debug_hdr_bloom" console command not working properly (a5ceec4 )
fix accessing invalid iterator when removing entity component from within OnRemove (6c60c49 )
fix BaseEntityComponent::SetTransformMember* functions applying value incorrectly if value is in world space and property expects value to be in local space (79a0a2c )
fix build error (9c5ff63 )
fix build error (313436a )
fix build error on latest Visual Studio version (20b1ad8 )
fix clang compile error (3b493af )
fix ClickComponent.raycast not applying filter correctly to static entities (cfbfa5b )
fix component properties not being saved when saving map data (2a91492 )
fix component property references not working if property path has multiple path components (41bb680 )
fix crash when removing entity with panima component (30e029e )
fix importing gltf as model not applying mesh scaling correctly (87cf3cc )
fix importing gltf as multiple models resulting in invalid bodygroup references (3993611 )
fix invalid memory read access (8e2c045 )
fix limit location/rotation/scale components not working if no driver was specified (17362ef )
fix limit_distance component not working properly (fcc60fb )
fix memory corruption issue (9dd303f )
fix ModelSubMesh::SetVertexWeight using wrong vertex weight set (3a30e1b )
fix obsolete model path (cb063d2 )
fix potential crash when loading a map (19fa263 )
fix potential exception in BaseEntity::CreateMemberReference (1ce36ac )
fix potential null pointer access (6ddb2c6 )
fix pragma::get_component_member_name_hash and pragma::get_normalized_component_member_name returning incorrect results (d66af40 )
fix warning about missing static_bvh_cache component during map load (82479eb )
gui: fix file explorer adding additional slash to path if file is in root directory (16f4def )
linux: fix build errors due to missing std::format library (5a25f4d )
linux: resolve compile errors (608da84 )
log: resolve various logging inconsistencies (0682925 )
lua,gui: resolve issue where "OnTextChanged" callback would not work for "WIText" GUI elements (ce84793 )
lua: add ents.create_entity_uri and ents.create_component_uri bindings (1dfac80 )
lua: fix duplicate bound "tostring" method for entity components (954323a )
lua: fix ents.BhvComponent.HitInfo.entity not using correct lua object (1ae8906 )
lua: fix ents.UniversalMemberReference:GetPath not returning correct path in some cases (6bc89ff )
lua: fix error when calling log.prefix (e8203c3 )
lua: fix incorrect constness for some lua bindings (7000a7f )
lua: fix lua error when calling ents.UniversalComponentReference:GetComponentName (12ba931 )
lua: fix module paths not being set up properly unless remote debugging is enabled for lua state (7de40ff )
lua: fix potential invalid memory access in util.generate_hair_data (7ae2ffd )
lua: fix type enums for ik rig constraints being bound with wrong class (7ef9257 )
lua: implement missing features for transform component property type (d40c88d )
lua: resolve issue where udm GetValue functions would return nil if property is of type element (5a211e8 )
lua: resolve issue where universal entity reference constructors would not accept uuid objects (f7b35d6 )
ModelSubMesh::GetVertexWeight - resolve issue where incorrect vertex weight set would be used (fff66d9 )
resolve compile errors (6079768 )
resolve issue where console would not get initialized fully unless created at engine startup (1165a97 )
resolve issue where crashdump would not generate properly (a0df754 )
resolve issue where debug render objects could accumulate and not be flushed when no scenes are being rendered (a9ba75e )
resolve issue where entities in map generated from imported gltf would all have same uuid (beca3c8 )
resolve issue where entity render buffer would not be initialized properly (6b9e379 )
resolve issue where ik rigs could not be saved (8500d0a )
resolve issue where importing a model through the model explorer would fail (e93b81c )
resolve issue where lua source file could not be determined correctly (4ccd7ce )
resolve issue where Lua-script for Lua-based entity would not be loaded if invoked by creation of another Lua-based entity (6feee4a )
resolve issue where material and entity color factor would be interpreted as srgb instead of linear (6cc1778 )
resolve issue where objects from imported gltf assets would have incorrect rotation (656399a )
resolve issue where panima components would not be updated properly if entity has no animated component (85aaa9a )
resolve issue where saving a model would not save the reference animation correctly (be93859 )
resolve memory corruption issues (7ed7018 )
resolve potential crash when multiple scenes with debug objects are rendered at the same time (31527e2 )
resolve potential crash with animation drivers when using parameter references of properties with certain types (3f34a22 )
temporarily disable multi-threading for animations (524ad34 )
Enter section select mode
No Comments