phun

Licence: Freeware
Version beta 5.26 | Release Date: 2009-03-24 | Download

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.

Version Beta 4.22 | Release Date: 2008-08-11 | Download
  • 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.
Version 3.5 | Release Date: 2008-05-21 | Download
No changes specified
Version 5.28 | Release Date: 2006-03-31 | Download

= Beta 5.28, 2009-03-31 =
* Added immortality - geometries that are immune against killers.
* Made the default killer planes immortal so that falling killers won't remove the killer planes.
* Fixed a bug introduced in 5.27 that stacked widget descriptions (e.g. "Appearance for 2 circles for 2 circles")
* Fixed a bug that caused widgets to not be serialized at all.
* Fixed yet another bug where objects would incorrectly be grouped together
* Fixed a problem where ungrouping (Ctrl-U) would close widgets
* Removed extra "..." from translations
* Added Polish translation by Pitros

= Beta 5.27, 2009-03-30 =
* Changed the look of the fixjoint to reflect what it is connected to
* Changed autosave time from every 30 seconds to every 5 minutes.
* Added a checkbox in options to turn autosave off
* Changed cloning behavior to clone attributes with any scripts intact
* Fixed a bad bug concerning "Transform into box" and other geometry actions.
* Fixed a problem where Phun would fail to find textures in .phz
* Fixed a bug that would incorrectly group together objects
* Fixed some problems regarding moving or cloning joints (springs, hinges, fixates)
* Added serialization of "Draw Hinges/Fixes when running" options to scene file
* May have fixed a problem with serialization of spring lengths
* Optimized rendering slightly
* Changed layer filter to completely hide objects from view
* Added serialization of layer filter to scene
* Tracers now gets erased when moved to the background
* Turned off alpha channel in screenshots. Turn on again with "App.screenshotsWithAlpha=true"
* Changed "Attach tracers" feature to scale tracers with geometry size instead of camera zoom
* Fixed better contrast colors when having a white or very bright background color.
* Readded the descriptive text of widgets (e.g. "Geometry actions for 2 polygons")
* Added "show group" button to widgets
* Added Dutch translation by Mike-RaWare