source: tags/0.3.3r3/CHANGES @ 3920

Revision 3920, 43.8 KB checked in by prock, 2 years ago (diff)
  • Updating README and CHANGE log... again. Prep for release. [t:601]
  • Property svn:eol-style set to native
Line 
1
2__/\\\\\\\\\\\\\\\___/\\\\\\\\\\\___/\\\\\\\\\\\\\\\___/\\\\\\\\\\\\\\\_       
3 _\/\\\///////////___\/////\\\///___\/\\\///////////___\/\\\///////////__       
4  _\/\\\__________________\/\\\______\/\\\______________\/\\\_____________     
5   _\/\\\\\\\\\\\__________\/\\\______\/\\\\\\\\\\\______\/\\\\\\\\\\\_____     
6    _\/\\\///////___________\/\\\______\/\\\///////_______\/\\\///////______   
7     _\/\\\__________________\/\\\______\/\\\______________\/\\\_____________   
8      _\/\\\__________________\/\\\______\/\\\______________\/\\\_____________ 
9       _\/\\\_______________/\\\\\\\\\\\__\/\\\______________\/\\\\\\\\\\\\\\\_
10        _\///_______________\///////////___\///_______________\///////////////__
11
12================================================================================
13== 0.3.3r3 (April 17th, 2012)                                                  ==
14================================================================================
15
16=== Engine ===
17* Implemented C++ map savers which is now being used by the editor. [t:491]
18* Fixed instance Z so it works now as expected.  This should only be used for
19  small optical corrections. (r3810)
20* Added layer z offset. [t:366]
21* Fixed a problem with instance setLocation(). (r3810)
22* Removed sub image loaders as they are not used. (r3811)
23* Object is no longer derived from IResource. (r3811)
24* SDL Renderer now renders quads as expected. [t:607]
25* Changed the Image creation in CoordinateRenderer. The coordinate is now
26  splitted into three images. So the TextRenderPool can reuse the most images
27  and must not create one for each coordinate. Additional the images take camera
28  zoom into account, but you can also disable it. [t:612]
29* Added InstanceDeleteListener to InstanceRenderer and RenderNode. [t:602]
30* All images created by effects are now owned by ImageManager and freed
31  if no longer used after 60 seconds. [t:611]
32* Added the set method to PointType2D and PointeType3D. [t:615]
33* Changed the way Atlases and SubImages?(SharedImages?) are loaded and freed.
34  SubImages now store a ImagePtr to its Atlas and the name. So a AtlasImage is
35  only unreferenced if all SubImages are removed. It is also possible to free
36  all images. Images that are required but were freed, invite self-adjusting.
37  [t:605]
38* Added functions to allow the client to set the mouse position on the screen
39  and retrieve it as a tuple in python.  [t:617]
40* Added another version of captureScreen() that takes width and height params
41  allowing you to resize the resulting image. [t:618]
42* Fixed a bug that led to Segmentation Faults, if the BitsPerPixel setting was
43  different than 32. [t:623]
44* Added support for True Type Collection fonts. [t:614]
45* Optimized getMatchingInstances(). [t:592]
46* TargetRenderer is no longer dependent on map loading. [t:636]
47* Small fix in the AtlasLoader to set the filename of any objects read from
48  the atlas file to the atlas xml file instead of the image file like it was
49  doing previously. This fixes a problem seen in the map loading/saving where
50  the imports would save the image file instead of the xml description file in
51  the map. [t:491]
52* Zooming now works as expected with x and y offsets. [t:667]
53* We now get more information when gcn::Exception is thrown. [t:665]
54* MapLoader now allows for .zip files to be loaded. ZipSource implements a
55  smarter file search so it can properly load files from a zip archive. [t:491]
56* Removed the lasttime_draw reset from TargetRenderer, because this can cause
57  problems. [t:674]
58* Cursor no longer moves to 0,0 on startup. [t:670]
59* Removed unneeded command line option -Wl from both release and debug builds
60  as this was breaking builds on gcc 4.7 and above. [t:691]
61
62=== Extensions ===
63* Fixed the file extensions registration for python plugin map loaders. [t:609]
64* Setting module is more robust on errors concerning non-string parameters.
65  [t:626]
66* SimpleXMLSerializer now saves XML files with platform specific line engines.
67  [t:630]
68* Child widgets should correctly report if they are hidden or not. [t:628]
69* Removing the hack to grab references to the GUIChanManager. Now we just use
70  the pychan manager to grab what we need to grab from the GUIManager. Added 4
71  new functions to pychan Manager. getConsole(), getDefaultFont(), createFont(),
72  and releaseFont(). [t:644]
73* Fixed deepApply() to now include hidden children in it's search. also added
74  the ability to only search for visible widgets. [t:608]
75* GUI Icons can now be resized at render time. [t:655]
76* Widgets can now be cloned to make widget templating possible. [t:376]
77
78=== Editor ===
79* Users can now specify an additional plugin directory for the editor. [t:598]
80* Fixed a couple small editor bugs regarding map loading. [t:603] and [t:604]
81* Added a plugin interface to extend the editor with savers. [t:610]
82* Toolbars can be docked/undocked again.  [t:635], [t:640], and [t:641]
83* The toolbox, toolbar, and statusbars statuses are now reflected correctly in
84  the menu. [t:643]
85* Object Editor plugin now displays animations as expected. [t:624]
86* Added InstanceHighlighter plugin
87* Added docking status saving to ToolBar widget class, added default docking
88  settings for Toolbox
89* Re-arranged init order in MainWindow.initGui() to make dockareas available
90  for ToolBar
91* Small change to screenshot icon to give it a bit more space on the left
92* Refactored ObjectSelector
93** Added auto-alignment depending on docking area (vertical/horizontal)
94** Right click can be used to trigger the alignment change manually
95** No annoying resizes on object selection
96** Speed issues not fully solved, but pin-pointed: resizing ~200 icons is a bit
97   too much for pychan
98* GUI Plugins can now use auto-alignment functionality from the ToolBar class
99* Small design fix in LayerTool
100* Small fix for MapFileHistory
101* Editor now doesn't load the same mapfile twice (gives feedback in the
102  statusbar)
103* Re-enabled saving for ObjectEdit? plugin
104* Implemented XMLObjectSaver which allows serialization of a fife.Object
105** NOTE: only well-formed xml files are accepted
106** NOTE: provides a compat-mode to scan for <object> tree roots, but also uses
107   new <asset> tree root
108* Added namespace sorting to ObjectSelector
109* Refactored ObjectEdit
110
111=== Misc ===
112* Removed some unnecessary warning messages from Model. [t:645]
113* Removed non-free icons from the atlas editor and added license file to the
114  atlas editor. [t:637]
115* Added a proper distclean build target. [t:622]
116* Added getRevision() to allow client to query the revision FIFE was build from.
117  This only works if svnverion is present in the users PATH.  Window users will
118  always get 0. [t:671]
119* Added a check to animpacker.py to convert double points in action names to
120  underlines. Additional the convert now consumes less RAM, because the
121  ImageManager free images. [t:677]
122
123
124================================================================================
125== 0.3.3r2 (November 2nd, 2011)                                               ==
126================================================================================
127
128=== Engine ===
129  * Added getVersion(), getMajor(), getMinor(), getSubMinor() functions and
130    exposed them to python. [t:582]
131  * Added a new math function to compare floats/doubles. It returns true if the
132    difference is smaller as delta.
133  * Fixed the getMatchingInstances() function. [t:579]
134  * Added an bool to getMatchingInstances(). If a client need pixel accuracy
135    results it should be set to true. Otherwise it should be set to false
136    because so it skips the pixel compare and is much faster. [t:586]
137  * Added two more InstanceChangeTypes, ICHANGE_BLOCK and ICHANGE_CELL. [t:574]
138  * The ActionFrame for animations has been made functional. This means a minor
139    API change. For details look into the changed demo scripts. [t:573]
140  * Fixed the broken FIFE::Command type events. Now all event states are
141    evaluated and not just one. Example from the ticket works now as expected.
142    [t:503]
143  * The DELETE macro which is defined in winnt.h is undef'ed on any windows
144    platform that defines the WIN32 macro. This fixes compilation when using
145    visual studio. [t:589]
146  * Added two new mouse settings. The first one is the mouse sensitivity and
147    the second can enable mouse acceleration. The sensitivity is limited to
148    -0.99 (the slowest) and 10.0 (the fastest). If you enable mouse acceleration
149    then the sensitivity is used as the max speed value. You can also change it
150    on runtime with the EventManager. [t:487]
151  * Added the getPtr() functions to ImageManager. All loaders now check to see
152    if an image has been defined before creating it. This was a small bug that
153    caused the image to be loaded even if the image was defined but not loaded
154    in the first place. [t:590]
155  * Fixed a bug in ImageManager::removeUnreferenced(). It would cause a segfault
156    when executed. This has been fixed.
157  * Fixed the problem where the animation atlas image becomes invalid after
158    deleting all objects from model. [t:590]
159  * Added a setting to allow users to deactivate the usage of the Framebuffer
160    Object in opengl backends. refs[t:581]
161  * Added a setting to allow users to deactivate the usage of NPOT Textures in
162    opengl backends. [t:581]
163  * Fixed a condition where if a widget is dragged to an area on the screen
164    where there is no widget the event gets lost. It also prevents the focus
165    from being dropped. [t:594]
166  * Fixed a condition where the user drags from the map to a guichan widget and
167    an event is lost. [t:594]
168  * Added getRealCellDimensions() function to camera. [t:592]
169  * Fixed a bug with Image names in TargetRenderer. [t:595]
170  * Added 1024x600 as a valid resolution. [t:597]
171 
172=== Extensions ===
173  * Fixed a problem where the setting value cache is not updated [t:578]
174  * Fixed a problem in fife_settings.py when starting the editor because the
175    editor tried to modify the value of a setting not in the FIFE module.
176    [t:578]
177  * Added 'all' to the valid LogModules setting [t:578]
178  * Pychan widgets can now be shown/hidden even if they are not top level
179    containers [t:375]
180  * Fixed a small bug with basicapplication. It was grabbing a reference to
181    the gui manager incorrectly.
182   
183=== Editor ===
184  * Fixed a bug in the layertool GUI. It was using the quit.png icon as its
185    delete layer image instead of the delete_layer.png icon. [t:583]
186  * Replacing the editor's icon files with free ones. [t:584]
187  * fixed a bug in pychan.internal (hide() method didn't handle deletion
188    correctly, added a guard & docstring to explain why this is bad)
189  * added new functionality to Plugin base class (read settings from editor's
190    settings file)
191  * added afterDock / afterUndock methods to Panel widget; did some code
192    cleanup & improvements to meet coding standard
193  * added documentation to the editor (mostly in docking functionality)
194  * updated both MapFileHistory? and LayerTool? plugins to use the new Plugin
195    functionality - their docking status is now saved & loaded again
196  * added new event 'onOpenMapFile' to the signalmanager which sends the path of
197    the requested mapfile
198  * added MapFileHistory? plugin
199  * records previous loaded mapfiles and loads them on editor startup via
200    settings xml
201  * selecting a mapfile either loads the map or updates outdated entries (e.g.
202    if a map has been deleted)
203  * I added a max value of 5 entries, can be adjusted in the plugin file though
204  * fixed minor issue with moving multiple selected instances
205  * fixed "move"-mode of editor - it now doesn't try to select / deselect cells
206    (that's the task of "selection mode")
207  * fifedit now can handle instances on hex grids again
208  * deselection of cells is now possible (previous implementation never could
209    work)
210  * switched instance selection from pixel-perfect to location (click on a cell
211    -> you select your instance, even if the cursor didn't scratch the instance
212    image)
213 
214=== Misc ===
215  * Fixed the Free Software Foundation address in COPYING as it was outdated.
216  * Added some more tiles to the rpg tileset in fife_test.
217  * Added a Show Hide test to the PychanTest module in fife_test.
218  * Small fix for the base class Test in the fife_test application. The create
219    function reversed the engine and application parameters from what is
220    actually passed in by the TestManager. The PychanTest was unaffected because
221    it had the parameters in the correct order as opposed to reversed in the
222    base class.
223  * Commented out a whole lot of debug statements to make the debug output in
224    FIFE useful again. I left them in the code in case anyone still needed them.
225  * Added more tests to the fife_test testing platform. [t:683]   
226   
227================================================================================
228== 0.3.3 (October 6th, 2011)                                                  ==
229================================================================================
230
231=== Engine ===
232  * Many optimizations/improvements to the OpenGL renderer.  Depth testing was
233    modified and now works properly with alpha blending enabled.  Alpha testing
234    is used to discard pixels. [t:556]
235  * Optimized color overlays. [t:539]
236  * Customizable alpha threshold value for outlines / outlining [t:569]
237  * Added support for drawing/modifying images. [t:553]
238  * Re-implemented the Resouce Pools (ImagePool AnimationPool, etc) as
239    ImangeManager, SoundClipManager, etc. [t:504] 
240  * Setting module no longer crashes when settings dialog has not been loaded.
241    [t:555]
242  * Fixed the problem that the objects of the renderers don't get deallocated
243    when the camera deconstructor was called. Affected renderers: Instance-,
244    Cellsection-, Generic- and LightRenderer.
245  * Added the missing reset() and removeAll() functions to the GenericRender
246    and LightRenderer.
247  * Removed the Engine::preInit() function.
248  * Removed EngineSetting::getPossibleResolutions() and validate() functions
249  * EngineSettings no longer throws any exceptions. Instead default values as
250    assigned and a warning message is sent to the logger.
251  * Some optimizations to LayerCache and Camera
252  * Removed some unnecessary includes.
253  * Changed when some exceptions are thrown. [t:511] 
254  * Added setBackgroundColor(), so a client can change the clearing color for
255    the screen. [t:307]
256  * Added camera overlay functions. Clients can now add a color, image and
257    animation overlay to the camera [t:460]
258  * Made sure that the fife logger is part of the FIFE namespace.
259  * Modifying all integer definitions to conform to the C99 standard.
260  * Added the getMinMaxCoordinates() function to the map class. It retrieves
261    the minimum/maximum coordinates of instances on the map.
262  * Changed Model::getNumMaps() to Model::getMapCount().
263  * Changed Map::getNumLayers() to Map::getLayerCount().
264  * Changed Animation::getNumFrames() to Animation::getFrameCount().
265  * FifeClass is no longer derived from IReferenceCounted.
266  * ResourceClass now implements the reference counting routines.
267  * Singletons are no longer derived from FifeClass.
268  * Modified the HexGrid? and SquareGrid? clone process to work as expected
269    (even though it's not really used). This doesn't fix the obvious problems
270    with CellGrid? and the way grids are created. This will have to be looked
271    at closer in the future.
272  * Made the quad tree depth easily changeable (instead of hard coded to 2)  .
273  * SquareGrid? now uses diagonals by default.
274  * Model now logs to the LM_MODEL log module.
275  * Small modifications to Exception to make it output to the log correctly.
276    Now we can read the exception output.
277  * Changed a few sqrt to match the new math definition.
278  * Added layers getMinMaxCoordinate() function to python.
279  * Renaming the only 2 .hpp files to conform to standards.
280  * Optimized the lightrenderer a bit.
281  * Fixed a build error on updating project files. This was caused by not
282    installing the mingw part in the devkit installer.
283  * Added code to support different versions of boost filesystem. [t:529]
284  * Fixed some color variables (Uint8, int32_t to uint8_t).
285  * Added some code to the python build environment to support python 2.4+.
286    [t:465]
287  * Fixed a segfault in the view_tests.py unittest.
288  * Settings now list valid screen modes. [t:494]
289  * the default image loader now throws exceptions if the image fails to load.
290  * Fixed a bug in RawData::read where an incorrect calculation was done to
291    check the validity of a passed in parameter. This caused a problem with
292    loading asset files when the file did not have an appended new line at the
293    bottom. Also modified the RawData::getDataInBytes, RawData::readString, and
294    RawData::read methods so that they do not create a temporary data array and
295    instead read directly into the output buffer, this should be more efficient.
296    Added a quick comment to xmlobject.py describing why a raise call is
297    subverted by an earlier return statement. [t:516]
298  * Removes an unnecessary call from endFrame().
299  * Fixed some unittests.
300  * Added a framerate limiter. [t:525]
301  * Replaced the Generic- and LightRendererNode with RendererNode.
302  * Fixed the distance calculation in routepather.cpp.
303  * Added the OffRenderer. This is the only renderer that does not need a map
304    or camera. The functions are identical to those of the GenericRenderer,
305    but it use screen coordinates. This renderer is only intended for cases
306    where no map is loaded, eg for an intro.
307  * Changed the swig video_tests.py to use the new renderer.
308  * Removed the primitives and a few other functions from the python interface.
309    These are no longer needed.
310  * Added the swig cursor unit test.
311  * Added some getter functions to cursor along with some documentation.
312  * RenderItem now stores an ImagePtr.
313  * Fixed SharedPtr destructor. [t:561]
314  * Added the getInstancesIn() function to Layer. This picks the Instances from
315    the InstanceTree.
316  * Fixed getMatchingInstances(). The picked instances be checked with the
317    instances of the layer. To compare the instances, getInstancesIn() is used.
318    [t:562]
319  * Unnecessary InstanceActivity? are now detected and deleted. Inactive
320    Instances are removed from Layer m_active_instances. [t:564]
321  * Changed from using RawData::getDataInBytes to use RawData::readString in
322    the animation/atlas/object/map loaders because the readString function
323    appends a null terminator onto the end of the data contents. Without the
324    null terminator errors were sometimes seen when trying to load map assets.
325  * Added some error log printing indicating when map assets fail to load.
326    [t:567]
327  * Modified the RawData::read function so that it no longer appends a null
328    terminator as this was causing the python xml loaders to throw a
329    ParseError exception. Also fixed the RawData::readString function so that
330    it now appends the null terminator in the proper place. [t:567]
331  * Made scons check for the dev libraries of whatever python the user ran
332    scons with. [t:523]
333  * Fixed a  problem where pychan will throw an exception when trying to print
334    UTF8 characters to the console. [t:571]
335  * Fixed and optimized a few functions in location.cpp. [t:563] and [t:568]
336  * Added option --lib-dir to scons build system to specify a shared library
337    install location. The shared library generated will now contain an soname
338    that will be libfife.so.major. Also changed the generated shared library
339    name to be libfife.so.major.minor.release. Added a version.h file to
340    engine/core that will contain the current fife major, minor, and subminor
341    versions and should be updated for each fife release. [t:575] 
342  * Fixed minor bug in getMatchingInstances(). This means that sometimes a wrong
343    choice was made, because alpha value was not correct.
344  * Change the way you set FIFE::Cursor to allow cursor to save a reference to
345    the image or animation. Added a function to reset the cursor drag to
346    nothing.
347  * Added GLee - currently it's compiled with fife as .cpp (scons doesn't get
348    compiled .c files).
349  * Initial support for c++ map/object/animation loaders. [t:491]
350  * Added dependency tinyxml for reading xml files. This is stored in
351    engine/core/ext/tinyxml directory. The scons scripts will attempt to use
352    system version of tinyxml if available otherwise the local one will be used.
353    [t:491]
354  * Added image Atlas support. [t:542]
355  * Added a zoom flag to the image/animation functions of the GenericRenderer.
356    So a client can disable the zoom for images. [t:543]
357  * Fixed a bug that caused the generated SWIG interface file for fife to not
358    compile when building with gcc 4.6.1. [t:546]
359  * Began work on de-coupling FIFE from guichan. [t:549]
360  * Changed Guichan graphics renderer to utilize vertex array instead of
361    immediate mode. [t:549]
362  * Removed Abstract* classes in favor of I* classes. This is to conform to our
363    coding standards. [t:550]
364  * After a new layer is added it is now activated for all renderers. This fixes
365    the problem of no instances being rendered for a newly created layer.
366    [t:551]
367  * Added the option to change the alpha value for instance picking.
368  * Added a setting for backbuffer clearing. So clients can deactivate it if
369    they have reasons for this.
370  * Removed the old setImageChunkingSize() setting because its useless.
371  * Changed the pump function. Model update gets only called if a map is loaded.
372  * Adding a quick and dirty shared pointer implementation that does not rely
373    on any 3rd party libraries. This will need to be extensively tested and can
374    always be swapped out for another implementation including
375    boost::shared_ptr.
376  * Added the unittest for SharedPtr.
377  * Instances now inherit blocking property from objects [t:514]
378  * Settings are now validated. [t:528]
379  * VFS now allows paths outside of launched applications when using a python
380    client. [t:544]
381  * Reworked the lighting module.  [t:557]
382  * The Windows icon is now freed correctly. [t:530]
383   
384=== Demos ===
385  * Fixed a bug in the shooter demo that caused a crash. [t:495]
386  * Updating the rio settings-dist.xml file to include the log level filter
387    setting.
388  * Added animated percentagebar widget to gui animation demo.
389  * Pychan demo now closes when you press escape or when you close the window.
390    [t:531]
391  * Shooter demo now generates a hichscore file if one does not exist.
392
393=== Documentation ===
394  * Documented the shooter World.reset() function.
395  * Updating the dependency graphs. [t:554]
396  * Documented all valid FIFE settings. [t:527]
397
398=== Extensions ===
399  * Updated basicapplication.py to initialize the logger before settings so
400    that setting messages will be logged.
401  * Removed some deprecated functions in pychan.
402  * Removed the deprecated ClickLabel widget from pychan. [t:552]
403  * Added changeBlending() to python.
404
405=== Tools ===
406  * Editor no longer crashes when there are too many instances on the map when
407    using the OpenGL renderer. [t:500]
408  * Added Atlas Creator tool. Currently it's a standalone application written
409    in Qt. [t:541] 
410
411 
412================================================================================
413== 0.3.2 (November 19th, 2010)                                                ==
414================================================================================
415
416=== Engine ===
417  * Removed the Camreazone renderer
418  * Added light support (OpenGL only) by merging the light branch.  Speacial
419    thanks to Helios for all his hard work in this area (#364)
420  * Added a percentage bar widget (#411)
421  * Modified some size_t definitions to more appropriate ones (#152)
422  * Instance rotation changes are reported to the instance change listeners
423    (#475)
424  * Fixed the GenericRenderingNode to no longer cause a segfault (#446)
425  * Fixed an API inconsistency in SoundEmitter (#461)
426  * There is no longer a memory leak when adding coloring overlays to instance
427    (#472)
428  * instance.get2dGfxVisual().setVisible(False) now works as expected (#471)
429  * Removed the last 0(n) loop through instances when rendering (#419)
430  * Generic renderer now only renders objects on the specified layer (#458)
431  * Fixed a memory leak when deleting maps.  The camera was not being
432    deleted
433  * Removed the NotFound exceptions in layer.getInstance() and
434    model.getObjects() to be more consistent with the rest of the API
435  * Fixed a bug in RenderBackendSDL, the clip area was not properly set
436  * Renamed the backquad and border commands of the FloatingTextRenderer
437  * Added the TransparentArea commands to the InstanceRenderer
438  * Improved InstanceRenderer::addTransparentArea.  You can now pass a list
439    of namespaces to be marked as transparent
440  * Updated Instance to no longer derive from ResourceClass. It now derives from
441    FifeClass directly
442  * Improved the floatingtextrenderer. Now you can set an alpha value for font,
443    background quad and border. Split quad and border into own commands
444  * Added a triangle function to backend and genericrenderer, also added the
445    functions to set an alpha value for geometric figures
446  * floatingtextrenderer now can change colors of the font via
447    setColor(uint r, uint b, uint g)
448  * Added the colorbuffer patch with a small change due to SDL. Performance
449    boost between under OpenGL
450  * Improved the most renderers with setColor() function to allow the user to
451    modify the color used to render the primitives
452  * Fixed the genericrenderer.  It is now tested whether the images are in the
453    viewport
454  * Fixed the gridrenderer to only render the grin within the viewport
455  * Changed the vertex functions in opengl/renderbackendopengl.cpp from
456    vertex3f() to vertex2f()
457  * Moved the layer visibility and transparency, from instancerenderer.cpp to
458    layercache.cpp and improved it (r3395)
459  * Corrected the h,w calculation for zooming in layercache.cpp (r3369)
460  * Fixed the bug, that x,y camera position result in an screen offset. (r3369)
461  * GLImage now only creates one "texture chunk" (r3445, r3452)
462  * Added nextPow2() math function (r3445)
463  * Fixed color mask definitions and use them throughout the engine (r3445)
464  * Moved the GLEnable and GLDisable structures to be globally accessible
465    (r3445)
466  * Templatized Rect to extend it's functionality beyond integers (r3447)
467  * Added some typedefs: Rect, FloatRect, DoubleRect (r3447)
468  * Removed the unused "trigger" system as it was unused (r3449)
469  * Applied GreyGhosts patch to fife_settings. Allows the user to load the gui
470    XML whenever they want. Also returns a reference to the dialog so it can be
471    worked with outside of fife_settings. (r3451)
472  * Removed unused files containing the unused GUIEventListener class (r3453)
473  * Removed old and unused functions: set/getSourceWidget() (r3455)
474  * Added drawRectangle() and fillRectangle() functions to the renderers (r3456)
475  * Modified FIFE::FloatingTextRenderer? to use the new functions (r3456)
476  * Updated some data types in FIFE::FloatingTextRenderer to use integer types
477    defined in fife_stdint.h (r3456)
478  * Added FIFE::DeviceCaps and FIFE::ScreenMode to detect valid screen modes
479  * Added the ability to query the current running screen mode (r3467)
480  * Added a method to detect the closest supported screen mode (not
481    complete yet). If no matching screen modes are detected an exception is
482    thrown. (r3467)
483  * Small change to the way the screen is initialized. The screen mode now
484    MUST be in the supported screen mode list before the screen will
485    initialize. (r3467)
486  * Added clearResourceLoaders() to the Pool class. This can be used if
487    different resourceloaders have to be added at a later point in time
488    (running editor for example, a plugin might want to have it's own loader
489    added) (r3469)
490  * Added the ability to normalize a 2D and 3D point (r3470)
491  * You can now rotate a 2D point around the origin or a specific point (r3470)
492  * Major improvements to fife_math.h and added corresponding Python bindings.
493    Users now have access to FIFE's internal math functions. These functions
494    are recommended to be used by all clients if required. Note: this may cause
495    some problems with certain compilers. I hope this wont have to be reverted.
496    TODO: remove the static constant globals somehow. (r3471)
497  * Adopted the new math functions for all subsystems (r3471)
498  * Added the ability to change screen modes on the fly. This works both in
499    OpenGL and SDL modes. (#315)
500  * Added IEngineChangeListener so the client can update the cameras viewport
501    if the screen mode has been changed. I chose to do it this way because the
502    engine has no way to know which camera it should update. It will be up to
503    the client to do it. (#315)
504  * The cursor surface is now correctly freed when exiting.  (r3483)
505  * Added DeviceCaps::getNearestScreenMode() for the client to request a
506    supported screen mode. (#315)
507
508=== Build System ===
509  * Removed libpng from ext (#385)
510  * Debug is now automatically enabled when you build with profiling enabled
511    (r3292)
512
513=== Editor ===
514  * Re-arranged the ObjectEdit gui to avoid misunderstandings
515  * Can now place instances (which are visible) on new maps again (r3392) 
516 
517=== Extensions ===
518  * Added the SimpleXMLSerializer extension
519  * Removed the XML portion out of fife_settings in favor of SimpleXMLSerializer
520  * Made the serializer used in fife_settings "pluggable"
521  * fife_settings widgets are now updated when the settings are reset to default
522  * Can now specify the default settings filename instead of using
523    settings-dist.xml
524  * Fixed the write_instances function so it saves the stack position variable
525    of instance visual when saving maps
526  * Added getVolume() to the SoundManager
527  * Added debug flag to loaders to enable/disable annoying print spam on
528    maploading
529  * BasicApplication now initializes pychan (r3388)
530  * loaders extension can now handle multiple loaders for different filetypes.
531    A difference between map and object files is now being made! (r3469)
532  * Modified the sound manager to better take care of sound clips (r3476)
533 
534=== Docs ===
535  * Added some documentation to the filebrowser module
536 
537=== Pychan ===
538  * Timers are now handled correctly by pychan (#483)
539  * Can now modify the step length for sliders (#482)
540  * Built in pychan dialogs now work (r3384)
541 
542=== Demos ===
543  * Renamed <fife>/demos/pychan_demo/pychan_test.py to pychan_demo.py
544  * Added a new pychan demo - gui animations
545  * Added the Shooter demo
546  * Made the dynamic widget test in the pychan_demo work/look a little better
547    (r3484)
548 
549=== Misc ===
550  * Fixed some compiler warning messages
551  * Added license information for the gimp icon
552 
553
554================================================================================
555== 0.3.1 (March, 2010)                                                        ==
556================================================================================
557
558=== Engine ===
559  * Updated a lot of the python source files to have the correct headers
560  * Fixed SWIG wrappers that didn't handle simple output parameters (#340)
561  * Added color key support for both OpenGL and SDL renderer (#451, #146)
562  * Changed the EventManager to use deque rather than vectors for storing
563    listeners (#454)
564  * Added the ability to prepend event listeners to the front of the listener
565    list (#454)
566  * Updated instance rotation values to be valid in all cases (#361)
567  * VFS no longer crashes when entering a restricted path (#413)
568  * Filename case is no longer transformed to be lower case (#418)
569  * OpenGL renderer now clears the backbuffer correctly (#392)
570  * Added the ability to render Vertexes (#455)
571  * Camera names no longer clash when loading multiple maps (#342)
572  * All layers are no longer activated when calling Camera::resetRenderers()
573    (#457)
574  * Word wrapping in a pychan label now works as expected (#408)
575  * SWIG wrappers now handle all simple output parameters (#340)
576  * Added ActionVisual::getActionImageAngles()
577  * Added Cursor::getX() and Cursor::getY()
578
579=== Build System ===
580  * FIFE now builds as expected on win32 using the FIFE dev kit
581  * Win32 batch scripts no longer overwrite the users PATH variable (#429)
582  * Requied DLLs are now installed as required on win32 (#430)
583  * CXXFLAGS should now be honored
584  * Fixed a problem with the dependency checks when using pkg-config on linux
585  * Added OpenBSD support
586
587=== Editor ===
588  * Can now re-load a map (#381)
589  * Opening more than one map and then closing them no longer causes a crash
590    (#441)
591  * Undo/Redo works properly if you select different layers (#443)
592  * Docked widgets no longer shrink when you click inside them (#444)
593  * Object editor can now skip to first and last frames of an animation (#448)
594  * Object editor sends some messages for the user to the editor status bar
595  * Cleaned up object editor by adding preMapClosed and preMapShown events
596  * Object editor now uses getActionImageAngles() to fetch animation angles
597  * Object editor animation views should now work with all clients
598  * Object offsets can now be saved to the object.xml file
599  * Object offsets can now be manipulated by using the mousewheel
600  * Added undo/redo support for the moving of instances
601 
602=== Extensions ===
603  * File Browser now refreshes correctly (#391)
604 
605=== Docs ===
606  * Fixed the Linux:Scons tutorial (#422)
607
608=== Pychan ===
609  * Fixed a couple python import lines (#440)
610  * Added Widget.requestFocus()
611 
612=== Rio De Hola ===
613  * Fixed the path to the AUTHORS file so the credits are displayed correctly
614 
615=== Misc ===
616  * Added color tester to pychan demo
617  * Demos now look for a local copy of FIFE before importing the installed
618    version of FIFE
619
620
621================================================================================
622== 0.3.0 (January 20th, 2010)                                                 ==
623================================================================================
624
625=== Engine ===
626  * Moved to Python 2.6 (#345)
627  * Upgraded guichan in ext to 0.8.2 (#420)
628
629  * Added UTF8 support
630  * SCons build system has been re-written (#328)
631  * Support for native mouse cursors
632  * The background of Label widgets will be painted
633  * Added adaptive pathfinding (#347)
634  * Modified CellSelectionRenderer to support multiple cell selection
635
636  * Added method Layer::getInstancesAt()
637  * Added SoundEmitter::setCallback()
638  * Added a setRolloff() function to the SoundEmitter class.
639  * Added function to fife_utils: getUserDataDirectory. Returns the proper path
640    to save setting and data files depending on OS.
641  * Removed UnitTest++ from ext (#421)
642  * Changed the way the fife python module is imported ( see
643    http://wiki.fifengine.de/Importing_Python_Module )
644  * The serializers will use LogManager instead of printing directly to the
645    console
646
647  * GuiManager: Proper translation of Guichan key events to FIFE key events
648  * Proper size calculation for ToggleButton
649  * Fixed a layer visibility bug where the toggleInstancesVisible and
650    setInstanceVisible functions were not working correctly. (#335)
651  * Fixed building FIFE on OS X (#360)
652  * Fixed setActionRuntime() (#373)
653  * Fixed unreliable time handling when changing time factors.
654  * Fixed a bug in the OpenGl renderer where the last chunk of images would not
655    be displayed when image_height % chunk_size was 0.
656  * Fixed layer and instance transparency (#378)
657  * Fixed a lot of small bugs
658
659=== Rio de hola ===
660  * Made rio_de_hola save its settings to the proper OS folder.
661  * Added a prefix to cameras in Rio de Hola to avoid name clashes
662  * Fixed second camera in rio so multiple Camera.setLocation calls are handled
663    correctly
664  * More documentation has been written
665 
666=== Editor ===
667  * Rewrote editor:
668    - Improved GUI:
669      - Resizable windows
670      - Docking
671      - Toolbars, menubar, statusbar
672      - Model/View approach to toolbar and menubar buttons
673    - New signal event system based on the one from django
674    - Support for opening multiple maps
675    - Better plugin support
676  * New plugin: LayerTool
677  * New plugin: LightEdit
678  * New plugin: CameraEdit
679  * Enhanced ObjectSelector
680  * Enhanced ObjectEdit
681  * New tool: ObjectPicker. Click on an instance on the map to set the current
682    object to the instance object
683  * Ability to select cells and perform actions on them (move, delete, fill,
684    ...)
685  * New type of scrolling: Press middle mouse button and move the mouse
686  * New icons based on Bluesphere
687  * Made the editor save its settings to the proper OS folder.
688  * Fixed editor bug where the map didn't render after saving (#333)
689  * Editor can now re-open a map (#381)
690  * Fixed a problem navigating directory structure with the filebrowser (#377)
691  * Filebrowser now refreshes when expected (#391)
692  * Fixed a lot of bugs, and made a lot of new ones ;-)
693 
694=== PyChan ===
695  * New greedy layout engine: Widgets is now able to expand in addition to
696    shrinking
697  * New events: mouseWheelMovedUp and mouseWheelMovedDown
698
699  * Added the position_technique attribute
700  * Added Widget.removeAllChildren() method
701  * Added a new method Widget.getNamedChildren
702  * New method: Widget.insertChild()
703  * New method: Widget.insertChildBefore()
704  * New property: is_focusable
705  * New properties: min_size, max_size
706  * Moved helptext property from C++ to pychan
707  * New togglebutton widget
708
709  * ScrollArea: Size is not static anymore (can shrink and expand)
710  * Allow objects with a call attribute to be used as event callbacks
711  * Removed unused TimerListener
712  * Switched to new content structure (#336)
713  * Made the distribute and mapEvents methods faster
714  * Added a small decorator for profiling rarely called functions
715  * Optimized adaptLayout()
716  * Added fast path for Widget.findChild(name=name). Roughly 10x faster
717
718  * Fixed an input problem when a dropdown box is clicked on (#337)
719  * Fixed pychan event_map to support callable objects (#374)
720  * Fixed the pychan demo (#363)
721  * Fixed a pychan problem where unkown characters were displayed when holding
722    the shift key (#383)
723  * Lots of bug fixes
724 
725=== Documentation ===
726  * Fixed some doxygen documentation problems (#343)
727  * Created python coding standards article (#372)
728  * Created "Bug Report" template (#409)
729 
730=== Misc ===
731  * New versioning scheme (x.y.z) instead of (yyyy.r)
732  * Moved extensions and fife.py to <FIFE>/engine/python/fife
733  * Moved rio_de_hola and pychan_demo to <FIFE>/demos
734  * Moved some misc scripts to <FIFE>/tools
735  * Moved the FIFE editor to <FIFE>/editor
736  * Added a Win32 installer for FIFE and the win32 SDK
737
738
739
740================================================================================
741== 2009.0 (January 7th, 2009)                                                 ==
742================================================================================
743
744=== Engine ===
745  * Merged input rework branch
746  * Possibility to hide instances/instance visuals
747  * Added input and focus events
748  * Modified clicklabel to provide a mouse listener for hover events
749  * Use strings as grouping in generic renderer instead of numbers
750  * Omission of a camera viewport in xml map files now indicate that the camera
751    should use the full window
752  * Added removeActionListener to SWIG export
753  * Some improvements to Scons build scripts
754  * Prepared basicapplication to use WindowTitle and WindowIcon from clients'
755    settings.py
756  * Logger now ignores non-existing log modules (warns to prompt)
757  * Pools now have a function called purgeLoadedResources which deletes all
758    loaded resources that have a reference count of zero.
759  * Movie: Switched to using FIFE::Image instead of Overlays
760  * Reworked matrix vector multiplication
761  * OpenAL-soft patch for OSS support
762
763Optimizations:
764  * Added hasing to pool to improve techdemo loading time
765  * Lazy loading for animations
766  * Combined events to reduce lag
767  * Small optimizations for instance renderer
768
769Bugs:
770  * Initialize instance visuals properly
771  * Fixed false positives when searching for instances in a rectangle
772  * Fixed a horrendous misconception in Pool. The map was sorted by pointer
773    comparison.
774  * Fix for textwrapping
775  * Fixed bug where instances couldn't change layer
776  * Fixed a small bug when initializing OpenGL
777  * Fixed a scons issue where libraries checked for C instead of C++
778  * Fixed a shutdown order problem
779  * Fixed segfault on shutdown when profiling was activated (#334)
780  * Fixed: Editors camera doesn't show map after saving (#333)
781  * Fixed: FIFE crashes with a segmentation fault (#297)
782
783=== Pychan ===
784  * Modified pychan to accept RGBA colors
785  * More documentation for layout system
786  * adaptLayout now acts a bit smarter
787  * Fix for scrollarea bug
788
789=== Rio de hola ===
790  * Improved some graphics and added some new ones
791  * Profiling support
792
793=== Editor ===
794  * Scrolling support
795  * Added an undo feature to the map-editor
796  * Object editor plugin
797  * Some bug fixes
798
799=== Documentation ===
800  * Updated the map format article to reflect the datasets changes (#323)
801
802=== Misc ===
803  * Removed old testmaps
804 
805
806================================================================================
807== 2008.1 (July, 2008)                                                        ==
808================================================================================
809
810=== Model improvements & simplifications ===
811 * Elevations removed (Fallout legacy).
812 * Support for namespaces:
813  * New resource infrastructure migrated into whole engine. This enables:
814   * uniform pooling for all resources that need to be pooled.
815   * uniform loading for all resources (model stuff, images, sounds...).
816   * uniform saving for resources which support saving (model stuff).
817  * Datasets are now stored in a flat list in model instead of dataset
818    hierarchy.
819  * Changes in model are now bookkeeped. Observer interfaces provided for change
820    listeners.
821   * This enables e.g. reacting only to changes instead of polling on every
822     round.
823   * Also critical enabler for triggers.
824  * Instances now support initial rotation value.
825  * Objects support default actions.
826  * Further model cleanup.
827
828=== XML format changes ===
829 * All resources are now defined with principle 1 file / 1 resource.
830 * Importing of objects can now be done also based on directories where they are
831   contained.
832 * Relative paths are now used instead of absolute ones.
833
834=== Loaders ===
835 * All loading happens now from python (tinyxml dependency removed).
836 * Improved error reporting.
837
838=== Editor ===
839 * Possibility to move instances on map.
840 * Possibility to rotate instances on map.
841 * Possibility to zoom the map (OpenGL mode only).
842 * Painting with currently selected instance (e.g. large ground areas).
843 * Importing of multiple objects based on given directory.
844 * Initial map creation wizard (still work in progress).
845
846=== Rio de hola ===
847 * More assets:
848  * Graphics, sounds, music...
849  * Two new maps matching the storyline.
850  * Rio de hola now conforms to package structure:
851    http://wiki.fifengine.de/Fife_Package_Specification
852  * Popup menu integration, demonstration of actions (kick, talk).
853
854=== Pychan improvements ===
855 * Hiding of scrollbars.
856 * Text wrapping.
857 * A lot of smaller improvements.
858
859=== Functionality ===
860 * Pixel perfect instance picking (taking transparency into account).
861 * Ability to get list of instances from given screen rectangle.
862 * Distance calculations made easy, exposed to scripts.
863 * Instance outlining.
864 * Instance coloring.
865 * Screenshots are now saved in png format (instead of bmp).
866 * Stereo sound support in linux (introduced with the help of openal-soft).
867
868=== Video / view improvements ===
869 * Both renderbackend and separate images can now render graphical primitives
870   (e.g. lines, dots..).
871 * Each camera now has separate set of renderers. Allows truly adjusting cameras
872   independently.
873 * Zooming capability (currently properly supported only by OpenGL backend).
874 * Support for drag cursor definitions.
875 * OpenGL graphics chunking size is now definable in settings. Should help e.g.
876   with large backgrounds.
877 * GenericRenderer adding customised rendering capabilities for scripts.
878
879=== Misc. changes ===
880 * Initial package structure defined for FIFE clients.
881 * Updated guichan to the latest release 0.8.1.
882 * Usage of unittest++ instead of boost unittests.
883 * Lots of bug fixes.
884
885=== Non-code related changes ===
886 * Switch from GPL 2.0 to LGPL 2.1 (or newer).
Note: See TracBrowser for help on using the repository browser.