Phun Changelog
What's new in Phun Beta 5.26
Mar 24, 2009- Rendering:
- Added support for textured geometries
- Added new optional rendering mode for water: software meta surface.
- Scene files:
- New file format: .phz which is a zip containing the scene, a thumbnail and any used textures.
- Velocities for objects and water particles is now saved to the scene files.
- Water and groups can now be saved in phunlets
- Tools:
- New brush tool
- New gear tool
- New cut tool
- Polygon tool: self-intersecting polygons are now handled (e.g. figure-of-eight:s)
- Added the ability to choose the chain building blocks (right-click a group of objects with exactly two hinges attached to the world)
- When reconnecting a chain to the first geometry in the chain, the chaintool will now create a perfect closed chain with no hinges to the background
- New behavior: to move or drag something, first select it and then drag it with most any tool.
- Hinge/fixjoint/spring now attaches to selected geometries first (used to always attach the top two entities)
- Added the ability to throw things with the move-tool
- Added 'snap to axis' functionality when holding down SHIFT for Move and Clone tool.
- UI:
- Added three levels to the user interface: Simple, Medium and Advanced
- Made the camera move smoothly
- Added the ability to rotate the camera with an object (reset rotation with "Zoom to scene" or "Default view")
- Made Phun more touch-screen friendly (especially when "pen input" is selected)
- Added the ability to add text onto boxes
- Pens no longer draw anything when moved in paused mode.
- Added the ability to select water and move it around, clone it etc.
- Added extra cursor icon to indicate which tool is selected
- Added support for non-Latin1 8-bit character sets (you'll need to create a new font file and set Font in the translation file).
- Added a loading screen
- Added a splashscreen
- Changed how a hinge is drawn if it is a motor
- Added support for pen tablets (including pressure sensitivity when using new brush tool)
- Mouse-over object highlighting is now only active if the simulation is paused.
- Fixed so that Phun binds ctrl over left_ctrl and right_ctrl (same for alt, shift and meta) in hinge/geom controllers and Keys.bind.
- Changed mirror/kill/motor key behavior to only work when the simulation is running
- When rotating objects or creating planes you will now get automatic 15∞ snapping when the cursor is close to the origin.
- Added the ability to drag-and-drop images and scenes into Phun from explorer (Windows only)
- Menus:
- Went back to the old GUI with rounder and larger components
- The context menu is now always open instead of poping up on right-click
- Sliders now round to closest integer or other "simple" number
- Added a few predefined materials (and you can create your own if you like - see the "materials" folder)
- Dragging the clone button now creates a clone of the selected objects
- Added "select alike" button, that selects identical objects (good for finding clones)
- Added sliders for gravity strength and direction in options
- Added a button to the menu bar to hide all other gui components.
- Added the ability to automatically attach tracers to selected geometries
- Added option "gearify" to add gears to an object (cog sizes decided in the gear tool options)
- Added "transform into box" action alongside the old "transform into circle".
- Added a layer filter menu - now specific collision layers can be filtered out from rendering and interaction
- Changed the color picking sliders from HSL to HSV. Change back by setting "App.GUI.useHSL = true;" in either console or config.cfg
- Added Sim.time to the simulation info box
- Reorganized the user interface a lot
- Added cvar GUI.tooltips so the user can disable tooltips.
- Physics:
- Added support for holy polygons (polygons with holes)
- Added Constructive Solid Geometry (CSG) - select one of two intersecting objects and in the CSG menu select Cut, Intersect, Subtract or Add.
- Added the ability to create "killer" geometries, that removes anything they touch from the simulation.
- Replaced Scene.fallLimit with four "killer planes" that removes anything they touch from the simulation. These can be deleted if desired.
- Added the ability to link the rotation of an object to the direction of gravity
- Increased the number of collision groups to seven.
- Physics engine:
- Added attraction: a distance dependent forces between geometries in the same collision group
- Added the concept of cables - transparent code that makes chains far more robust than before even under large stress. See the old behavior with "Sim.cables = false;"
- Greatly improved the stability of towers/stacking
- Fixed an energy- and momentum leak caused by interaction between forces (springs, gravity, ...) and constraints (hinges, contacts).
- Scripting:
- Added a scripting menu in advanced mode where object attributes can be set.
- Added onCollide function to geometries - this is a function that is called when two objects collide. It has an event argument e with members e.pos, e.normal, e.other and e.this.
- Added closure "Scene.my" that can contain user defined scene specific variables that will be serialized with the scene.
- Added two Thyme-meta-functions: Reflection.ExecuteCode and Reflection.ExecuteFile
- Added command Scene.Open which opens a scene given a filename.
- Added command Scene.SaveAs which saves the current scene to a given file. WARNING: Will overwrite any existing file without asking!
- Thyme is now Turing complete through an if-else-clause of the form: (foo ? bar : baz)
- Improved the Thyme parser to be able to handle chained infix operators (e.g. "4/2*2") without extra parentheses.
- Thyme is now case insensitive
- Added Thyme support for hexadecimal and binary numbers (0xf0a1, 0b101011)
- Added Thyme support for the operators == and != for lists.
- Fixes:
- Fixed text input of characters with Alt Gr, i.e. []{}" etc depending on keyboard layout
- Changed screenshot format from tga to png.
- Fixed a problem with drawing mouse-cursors when in fullscreen mode.
- Fixed a problem where thin polygons would get really fouled up distance maps
- Fixed copy-and-paste of text and phunlets
- Removed the cmd window in Windows
- A lot more fixes and tweaks that I've forgotten
- Optimization:
- Speeded up mirror and uniform-axes scaling of polygons while also saving memory
- General speedups, especially for large scenes
- Added (very) limited support for multicore; type in "Threading.numThreads = N" (no quotations) in your console or config.cfg, where N is your number of cores. May speed up really huge scenes slightly, but may also slow it down.
New in Phun Beta 4.22 (Sep 1, 2008)
- Fixed a bug where Phun would crash when cloning after first deleting items (thanks for helping me replicate, tatt61880)
- Added the console command App.GUI.dragUndo. If set to false, drags can't be undone.
New in Phun Beta 4 (Jun 28, 2008)
- Removed superfluous full program path in the save dialog.
- Removed dependency on OpenGL 2.0 for shaders (should fix the "NULL-function in Shader::Shader" reported by agsgymboy etc)
- Set shaders to be on by default where available (hope this won't foul things up anymore)
- New highlight system: a white border around selected objects (no more blinking)
- Objects can now be translucent
- Added a pen tool that attaches to a geometry and draws a line tracing its path.
- Vastly improved text input system with mouse selection and a lot more
- Hinge motors can now be bound to any keyboard key or joystick/gamepad button
- Geometries can have forces added to them controlled by either keyboard or joysticks/gamepads
- Hinges can be set to break if stretched or strained too much
- The plane tool now angles the plane in 15? increments if shift is pressed, so it is now simple to create horizontal planes.
- Rotating with shift pressed will now re-align single boxes or planes to 15? increments
- Added scene meta info: title, author and description
- Added setting (gravity, air friction, camera etc) to scene files
- Upgraded the chain tool to work like the brush tool (ie freehand drawing of chains)
- New box primitive (boxes are no longer box-shaped polygons)
- New scale tool
- Added a mirror command to the popup menu
- Added the cvar Resources.force16BitTextures for those having texture problems (type "Resources.force16BitTextures = true" in console)
- Added tooltips for some menu items, such as the tools.
- Holding down the shortcut key for a tool will now only temporarily select it, while quickly pressing it will select it for real.
- Redone the menus quite a bit. They can now be collapsed, renamed (click their titles) and are automaticly saved in the scene and config files.
- You can now have the canera follow a group of objects instead of just one
- You can now move the camera relative to the object (or group of objects) you are following.
- Extended the number of collision groups to five (used to be three).
- Added Phunlets (save a phunlet by right-clicking a group of objects, import a phunlet by right-clicking the background).
- Added the ability to copy- and paste phunlets/objects/thyme-code in Phun (ie: select something, press ctrl-c, and then ctrl-v it where you want a copy or want the code)
- Changed fixate behaviour to always fixate the top two geometries, even if they're already connected (same for hinges and springs)
- Phun now starts the simulation whenever a new scene is loaded (though you can immediatly undo this)
- Added ability to change water and sky color in the right click menu.
- Removed some rather arbitrary limits on position, speed and angular velocity
- Fixates and hinges now have a small plus ( ) added to them when attached to the background (thanks for the suggestion, Melchior)
- Fixed GUI mouse input opacity (you can no longer click through a GUI window)
- Fixed a few fixate-related bugs
- Fixed a bug where water particles would sometimes collide with a polygon bounding box.
- Various fixes and tweaks