Thursday, June 30, 2011

Work Progress - Jun 30 - Jul 5

Demo: "Stable SB app" link above

Work done:
* When we are replacing a conditional statement with another, the original one is "displaced" rather than disappears (suggested by Bill). See the following series of shots for an example.

* Improved codelet insertion: we now check all the four corners of a codelet to determine if it should be inserted into a location. The following shows an example, in which the property codelet is allowed to be inserted because its bottom right corner is inside the left box of the binary expression. It is not possible in the previous core, in which we just checked the top left corner.

* Allow hardware-demanding OpenGL operations like anti-aliasing and texture loading to be disabled (through the advanced property "Better Graphics?" in the Engine/Background class) to adapt to low-end systems

Friday, June 24, 2011

Work Progress - Jun 22 - Jun 28

Demo: "Stable SB app" link above

* Fix the texture disappearance problem in CC - the root cause is that the reshape() function (which is called when there is any resizing event) in PEngineOgl class reloads the texture (calls LoadTextures()) of PObjects added via "Create New Object" button only (which is stored in PEngine's objs Vector). The plaitimages that are created using CC's Duplicate() method are not PObject and they are not added via the above approach. I fix this problem by overriding CCGui's reshape() method to also reload the plaitimages' texture as well.
* Fix the CC bug that the plait doesn't return to its initial position on erase drawing.
* Fix the Core bug that Duplicating object can't duplicate the events.
* Fix the Core bug that deleting an object doesn't switch to default object. BTW, duplicating object now switch the selected object to the duplicated one.
* Core: one can now scale the dimensions separately with PEngine's advanced properties x_scale, y_scale and z_scale.
* Fix the bug that the selected object specified in an XML file is not correctly loaded.
* Allow background color to be specified in the "Set Background" window.
* Core: The PLAY button flashes on first launch of the application.

Thursday, June 16, 2011

Work Progress - Jun 15 - Jun 21

Demo: "SB in beta" link above

Work done:
* Allow multiple event codelets of the same name in the same object. The y location (x location and then z location if there is a tie) of the codelet will determine the execution sequence of the event codelets. As an example, load this xml script. Change the relative locations of the two codelets to see the effect. (Note: one can no longer hide any scripts)
* Core: auto-expand the scriptlet window. Try pulling a scriptlet to a position at which the script cannot be fully displayed. The scriptlet window expands accordingly.
* Fix the bug that one can't edit the properties of some PObject (which inherits the superclass' Reset() method) after doing a simulation.
* Fix the bug that one can't select a plait object on the simulation canvas in the CC app.
* Allow adjustment of the number of decimal points to be shown for grid axis numbers (as an advanced property of the engine object).
* Core: On "EXPAND GRAPHIC VIEW" then "REDUCE GRAPHIC VIEW", the splitters restores just before they hit the “expand” button.

Saturday, June 11, 2011

Work Progress - Jun 8 - Jun 14

Demo: "SB in beta" link above

Work done:
* Save relative path of background image if possible. Otherwise, the whole background image is stored in the XML file.
* Help Bill in RW texture loading problem

Still in progress:
* allow multiple event codelets with the same name for the same object

Thursday, June 2, 2011

Work Progress - Jun 1 - Jun 7

Demo: "SB in beta" link above

Work done:
* Save the whole image instead of link of the image in the XML file. In other words, one is self-contained with a single XML file. This is an important step towards custom contents like custom audio.
* Allow change of background alpha, grid and grid number coloring as advanced properties of the background Engine.
* Provide a button in the toolbar for taking screenshot of the graphic window.