Phun Changelog

What's new in Phun 5.28 Beta

May 4, 2009
  • 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

New in Phun 5.25 Beta (Mar 21, 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.
  • Translations:
  • Japanese translation by tatt61880
  • Brazilian Portuguese translation by xxGLHRMxx
  • Russian translation by Kilinich
  • English and Swedish by emilk