Guild of Writers Releases Korman 0.17
The Guild of Writers released a new version of the age exporting tool Korman. This update represents 59 commits with approximately 1,950 lines of code changed since Korman 0.16.
If you never used Korman, or need a refresher, there are tutorials available on the Guild of Writers wiki. If you need more help, or have comments, the discussion thread is here.
Changelog:
- Actually added the entry camera feature promised in the Korman 0.16 release notes (whoopsie daisy).
- [1] Added the ability for colliders to block clickables.
- Added the ability for Python File Nodes to “satisfy” a Python Activator Attribute.
- Added the ability for Python File Nodes to serve as GUI Dialog handlers. (Thanks to dpogue for authoring this patch)
- Added the ability to set the text color in the Localized Text Modifier. (Thanks to Doobes for authoring this patch)
- Added the SDL Show/Hide Modifier.
- [2] Added the Sound Reverb Region modifier. (Thanks to Sirius for authoring this patch)
- Fixed a crash in the exporter when using a sitting camera.
- Fixed a crash in the game client caused by exporting collision objects with no vertices.
- Fixed a technical issue preventing the smallest two mip levels of DXT compressed textures from being exported. (Thanks to dgelessus for authoring this libHSPlasma patch)
- Fixed Exclude Regions not working correctly with Python File Nodes.
- [3] Fixed overzealous vertex sharing, allowing the same vertex to have different normals for different polygons. (Thanks to Sirius for authoring this patch)
- Fixed some potential client crashes related to orphaned camera objects being left in the game files.
- Fixed the description of the “Wind Object” in the Basic Water modifier to indicate that the Z axis sets the water height.
- Fixed the “disabled texture” generated for dynamic planar environment maps used when the player has turned off planar reflections in the game client.
- Fixed the Swivel Modifier not being available for empty objects. (Thanks to Doobes for authoring this patch)
- Improved logging around layer animation and animation messages for better debugging of the “No controllable animations” error.
- Removed the dependency on the xSitCam.py script from the “sitting camera” feature of the Sitting Behavior Modifier.
- Removed the redundant “wind speed” setting from the Basic Water Modifier. A reference object should be used to set the wind speed. (Thanks to Sirius for authoring this patch)
- [4] Reorganized the way bounds properties are stored, especially in logic nodes.
Clickables
[1] Previously, clickables could be clicked on through any object (such as walls) as long as the avatar was inside the clickable’s region and (optionally) facing the clickable. Now, all colliders will default to blocking clickables. In other words, you cannot click on a clickable through a wall. To revert to the previous behavior, uncheck the “Blocks Clickables” option in the Collision Modifier.Sound Reverb Regions
[2] At this time, only TPotS supports sound reverb regions. Even if playing an Age on TPotS, these regions only function on Windows XP or lower. These regions exist primarily to ensure this information doesn’t get lost as Cyan Ages are converted to blend files. In the future, the H’uru client will support sound reverb regions – see pull request #1000. Adding these regions to new Ages will largely be ineffective at this time.Geometry Changes
[3] This change will make the exported geometry reflect what is seen in Blender’s viewport more accurately and will improve the results of RT lighting, specular lights, and environment mapping. This is at a cost of potentially increasing the number of exported vertices, which may cause large meshes to exceed the vertex limit.Bounds Properties
[4] All bounds properties are now stored under the hood on the Collision Modifier. Previously, it was possible for a single object to have multiple settings for its bounds. One node could say triangle mesh, and another could say convex hull, resulting in the exporter generating whatever it saw first. Now, there is only one source of truth. This may cause in-game behavior to change if Korman’s migration logic sees the bounds in a different order than the exporter does.