source: tags/0.3.2/CHANGES @ 4105

Revision 3500, 22.1 KB checked in by prock, 9 years ago (diff)
  • Some updates to CHANGES, INSTALL, and README
Line 
1
2__/\\\\\\\\\\\\\\\___/\\\\\\\\\\\___/\\\\\\\\\\\\\\\___/\\\\\\\\\\\\\\\_       
3 _\/\\\///////////___\/////\\\///___\/\\\///////////___\/\\\///////////__       
4  _\/\\\__________________\/\\\______\/\\\______________\/\\\_____________     
5   _\/\\\\\\\\\\\__________\/\\\______\/\\\\\\\\\\\______\/\\\\\\\\\\\_____     
6    _\/\\\///////___________\/\\\______\/\\\///////_______\/\\\///////______   
7     _\/\\\__________________\/\\\______\/\\\______________\/\\\_____________   
8      _\/\\\__________________\/\\\______\/\\\______________\/\\\_____________ 
9       _\/\\\_______________/\\\\\\\\\\\__\/\\\______________\/\\\\\\\\\\\\\\\_
10        _\///_______________\///////////___\///_______________\///////////////__
11
12================================================================================
13== 0.3.2 (November 19th, 2010)                                                ==
14================================================================================
15
16=== Engine ===
17  * Removed the Camreazone renderer
18  * Added light support (OpenGL only) by merging the light branch.  Speacial
19    thanks to Helios for all his hard work in this area (#364)
20  * Added a percentage bar widget (#411)
21  * Modified some size_t definitions to more appropriate ones (#152)
22  * Instance rotation changes are reported to the instance change listeners
23    (#475)
24  * Fixed the GenericRenderingNode to no longer cause a segfault (#446)
25  * Fixed an API inconsistency in SoundEmitter (#461)
26  * There is no longer a memory leak when adding coloring overlays to instance
27    (#472)
28  * instance.get2dGfxVisual().setVisible(False) now works as expected (#471)
29  * Removed the last 0(n) loop through instances when rendering (#419)
30  * Generic renderer now only renders objects on the specified layer (#458)
31  * Fixed a memory leak when deleting maps.  The camera was not being
32    deleted
33  * Removed the NotFound exceptions in layer.getInstance() and model.getObjects()
34    to be more consistent with the rest of the API
35  * Fixed a bug in RenderBackendSDL, the clip area was not properly set
36  * Renamed the backquad and border commands of the FloatingTextRenderer
37  * Added the TransparentArea commands to the InstanceRenderer
38  * Improved InstanceRenderer::addTransparentArea.  You can now pass a list
39    of namespaces to be marked as transparent
40  * Updated Instance to no longer derive from ResourceClass. It now derives from
41    FifeClass directly
42  * Improved the floatingtextrenderer. Now you can set an alpha value for font,
43    background quad and border. Split quad and border into own commands
44  * Added a triangle function to backend and genericrenderer, also added the
45    functions to set an alpha value for geometric figures
46  * floatingtextrenderer now can change colors of the font via
47    setColor(uint r, uint b, uint g)
48  * Added the colorbuffer patch with a small change due to SDL. Performance
49    boost between under OpenGL
50  * Improved the most renderers with setColor() function to allow the user to
51    modify the color used to render the primitives
52  * Fixed the genericrenderer.  It is now tested whether the images are in the
53    viewport
54  * Fixed the gridrenderer to only render the grin within the viewport
55  * Changed the vertex functions in opengl/renderbackendopengl.cpp from vertex3f()
56    to vertex2f()
57  * Moved the layer visibility and transparency, from instancerenderer.cpp to
58    layercache.cpp and improved it (r3395)
59  * Corrected the h,w calculation for zooming in layercache.cpp (r3369)
60  * Fixed the bug, that x,y camera position result in an screen offset. (r3369)
61  * GLImage now only creates one "texture chunk" (r3445, r3452)
62  * Added nextPow2() math function (r3445)
63  * Fixed color mask definitions and use them throughout the engine (r3445)
64  * Moved the GLEnable and GLDisable structures to be globally accessible (r3445)
65  * Templatized Rect to extend it's functionality beyond integers (r3447)
66  * Added some typedefs: Rect, FloatRect, DoubleRect (r3447)
67  * Removed the unused "trigger" system as it was unused (r3449)
68  * Applied GreyGhosts patch to fife_settings. Allows the user to load the gui
69    XML whenever they want. Also returns a reference to the dialog so it can be
70    worked with outside of fife_settings. (r3451)
71  * Removed unused files containing the unused GUIEventListener class (r3453)
72  * Removed old and unused functions: set/getSourceWidget() (r3455)
73  * Added drawRectangle() and fillRectangle() functions to the renderers (r3456)
74  * Modified FIFE::FloatingTextRenderer? to use the new functions (r3456)
75  * Updated some data types in FIFE::FloatingTextRenderer to use integer types
76    defined in fife_stdint.h (r3456)
77  * Added FIFE::DeviceCaps and FIFE::ScreenMode to detect valid screen modes
78  * Added the ability to query the current running screen mode (r3467)
79  * Added a method to detect the closest supported screen mode (not
80    complete yet). If no matching screen modes are detected an exception is
81    thrown. (r3467)
82  * Small change to the way the screen is initialized. The screen mode now
83    MUST be in the supported screen mode list before the screen will
84    initialize. (r3467)
85  * Added clearResourceLoaders() to the Pool class. This can be used if different
86    resourceloaders have to be added at a later point in time (running editor for
87    example, a plugin might want to have it's own loader added) (r3469)
88  * Added the ability to normalize a 2D and 3D point (r3470)
89  * You can now rotate a 2D point around the origin or a specific point (r3470)
90  * Major improvements to fife_math.h and added corresponding Python bindings.
91    Users now have access to FIFE's internal math functions. These functions
92    are recommended to be used by all clients if required. Note: this may cause
93    some problems with certain compilers. I hope this wont have to be reverted.
94    TODO: remove the static constant globals somehow. (r3471)
95  * Adopted the new math functions for all subsystems (r3471)
96  * Added the ability to change screen modes on the fly. This works both in
97    OpenGL and SDL modes. (#315)
98  * Added IEngineChangeListener so the client can update the cameras viewport
99    if the screen mode has been changed. I chose to do it this way because the
100    engine has no way to know which camera it should update. It will be up to
101    the client to do it. (#315)
102  * The cursor surface is now correctly freed when exiting.  (r3483)
103  * Added DeviceCaps::getNearestScreenMode() for the client to request a
104    supported screen mode. (#315)
105
106=== Build System ===
107  * Removed libpng from ext (#385)
108  * Debug is now automatically enabled when you build with profiling enabled
109    (r3292)
110
111=== Editor ===
112  * Re-arranged the ObjectEdit gui to avoid misunderstandings
113  * Can now place instances (which are visible) on new maps again (r3392) 
114 
115=== Extensions ===
116  * Added the SimpleXMLSerializer extension
117  * Removed the XML portion out of fife_settings in favor of SimpleXMLSerializer
118  * Made the serializer used in fife_settings "pluggable"
119  * fife_settings widgets are now updated when the settings are reset to default
120  * Can now specify the default settings filename instead of using
121    settings-dist.xml
122  * Fixed the write_instances function so it saves the stack position variable
123    of instance visual when saving maps
124  * Added getVolume() to the SoundManager
125  * Added debug flag to loaders to enable/disable annoying print spam on maploading
126  * BasicApplication now initializes pychan (r3388)
127  * loaders extension can now handle multiple loaders for different filetypes. A
128    difference between map and object files is now being made! (r3469)
129  * Modified the sound manager to better take care of sound clips (r3476)
130 
131=== Docs ===
132  * Added some documentation to the filebrowser module
133 
134=== Pychan ===
135  * Timers are now handled correctly by pychan (#483)
136  * Can now modify the step length for sliders (#482)
137  * Built in pychan dialogs now work (r3384)
138 
139=== Demos ===
140  * Renamed <fife>/demos/pychan_demo/pychan_test.py to pychan_demo.py
141  * Added a new pychan demo - gui animations
142  * Added the Shooter demo
143  * Made the dynamic widget test in the pychan_demo work/look a little better (r3484)
144 
145=== Misc ===
146  * Fixed some compiler warning messages
147  * Added license information for the gimp icon
148 
149
150================================================================================
151== 0.3.1 (March, 2010)                                                        ==
152================================================================================
153
154=== Engine ===
155  * Updated a lot of the python source files to have the correct headers
156  * Fixed SWIG wrappers that didn't handle simple output parameters (#340)
157  * Added color key support for both OpenGL and SDL renderer (#451, #146)
158  * Changed the EventManager to use deque rather than vectors for storing
159    listeners (#454)
160  * Added the ability to prepend event listeners to the front of the listener
161    list (#454)
162  * Updated instance rotation values to be valid in all cases (#361)
163  * VFS no longer crashes when entering a restricted path (#413)
164  * Filename case is no longer transformed to be lower case (#418)
165  * OpenGL renderer now clears the backbuffer correctly (#392)
166  * Added the ability to render Vertexes (#455)
167  * Camera names no longer clash when loading multiple maps (#342)
168  * All layers are no longer activated when calling Camera::resetRenderers()
169    (#457)
170  * Word wrapping in a pychan label now works as expected (#408)
171  * SWIG wrappers now handle all simple output parameters (#340)
172  * Added ActionVisual::getActionImageAngles()
173  * Added Cursor::getX() and Cursor::getY()
174
175=== Build System ===
176  * FIFE now builds as expected on win32 using the FIFE dev kit
177  * Win32 batch scripts no longer overwrite the users PATH variable (#429)
178  * Requied DLLs are now installed as required on win32 (#430)
179  * CXXFLAGS should now be honored
180  * Fixed a problem with the dependency checks when using pkg-config on linux
181  * Added OpenBSD support
182
183=== Editor ===
184  * Can now re-load a map (#381)
185  * Opening more than one map and then closing them no longer causes a crash
186    (#441)
187  * Undo/Redo works properly if you select different layers (#443)
188  * Docked widgets no longer shrink when you click inside them (#444)
189  * Object editor can now skip to first and last frames of an animation (#448)
190  * Object editor sends some messages for the user to the editor status bar
191  * Cleaned up object editor by adding preMapClosed and preMapShown events
192  * Object editor now uses getActionImageAngles() to fetch animation angles
193  * Object editor animation views should now work with all clients
194  * Object offsets can now be saved to the object.xml file
195  * Object offsets can now be manipulated by using the mousewheel
196  * Added undo/redo support for the moving of instances
197 
198=== Extensions ===
199  * File Browser now refreshes correctly (#391)
200 
201=== Docs ===
202  * Fixed the Linux:Scons tutorial (#422)
203
204=== Pychan ===
205  * Fixed a couple python import lines (#440)
206  * Added Widget.requestFocus()
207 
208=== Rio De Hola ===
209  * Fixed the path to the AUTHORS file so the credits are displayed correctly
210 
211=== Misc ===
212  * Added color tester to pychan demo
213  * Demos now look for a local copy of FIFE before importing the installed version of FIFE
214 
215
216
217
218================================================================================
219== 0.3.0 (January 20th, 2010)                                                 ==
220================================================================================
221
222=== Engine ===
223  * Moved to Python 2.6 (#345)
224  * Upgraded guichan in ext to 0.8.2 (#420)
225
226  * Added UTF8 support
227  * SCons build system has been re-written (#328)
228  * Support for native mouse cursors
229  * The background of Label widgets will be painted
230  * Added adaptive pathfinding (#347)
231  * Modified CellSelectionRenderer to support multiple cell selection
232
233  * Added method Layer::getInstancesAt()
234  * Added SoundEmitter::setCallback()
235  * Added a setRolloff() function to the SoundEmitter class.
236  * Added function to fife_utils: getUserDataDirectory. Returns the proper path
237    to save setting and data files depending on OS.
238  * Removed UnitTest++ from ext (#421)
239  * Changed the way the fife python module is imported ( see
240    http://wiki.fifengine.de/Importing_Python_Module )
241  * The serializers will use LogManager instead of printing directly to the
242    console
243
244  * GuiManager: Proper translation of Guichan key events to FIFE key events
245  * Proper size calculation for ToggleButton
246  * Fixed a layer visibility bug where the toggleInstancesVisible and
247    setInstanceVisible functions were not working correctly. (#335)
248  * Fixed building FIFE on OS X (#360)
249  * Fixed setActionRuntime() (#373)
250  * Fixed unreliable time handling when changing time factors.
251  * Fixed a bug in the OpenGl renderer where the last chunk of images would not
252    be displayed when image_height % chunk_size was 0.
253  * Fixed layer and instance transparency (#378)
254  * Fixed a lot of small bugs
255
256=== Rio de hola ===
257  * Made rio_de_hola save its settings to the proper OS folder.
258  * Added a prefix to cameras in Rio de Hola to avoid name clashes
259  * Fixed second camera in rio so multiple Camera.setLocation calls are handled
260    correctly
261  * More documentation has been written
262 
263=== Editor ===
264  * Rewrote editor:
265    - Improved GUI:
266      - Resizable windows
267      - Docking
268      - Toolbars, menubar, statusbar
269      - Model/View approach to toolbar and menubar buttons
270    - New signal event system based on the one from django
271    - Support for opening multiple maps
272    - Better plugin support
273  * New plugin: LayerTool
274  * New plugin: LightEdit
275  * New plugin: CameraEdit
276  * Enhanced ObjectSelector
277  * Enhanced ObjectEdit
278  * New tool: ObjectPicker. Click on an instance on the map to set the current
279    object to the instance object
280  * Ability to select cells and perform actions on them (move, delete, fill,
281    ...)
282  * New type of scrolling: Press middle mouse button and move the mouse
283  * New icons based on Bluesphere
284  * Made the editor save its settings to the proper OS folder.
285  * Fixed editor bug where the map didn't render after saving (#333)
286  * Editor can now re-open a map (#381)
287  * Fixed a problem navigating directory structure with the filebrowser (#377)
288  * Filebrowser now refreshes when expected (#391)
289  * Fixed a lot of bugs, and made a lot of new ones ;-)
290 
291=== PyChan ===
292  * New greedy layout engine: Widgets is now able to expand in addition to
293    shrinking
294  * New events: mouseWheelMovedUp and mouseWheelMovedDown
295
296  * Added the position_technique attribute
297  * Added Widget.removeAllChildren() method
298  * Added a new method Widget.getNamedChildren
299  * New method: Widget.insertChild()
300  * New method: Widget.insertChildBefore()
301  * New property: is_focusable
302  * New properties: min_size, max_size
303  * Moved helptext property from C++ to pychan
304  * New togglebutton widget
305
306  * ScrollArea: Size is not static anymore (can shrink and expand)
307  * Allow objects with a call attribute to be used as event callbacks
308  * Removed unused TimerListener
309  * Switched to new content structure (#336)
310  * Made the distribute and mapEvents methods faster
311  * Added a small decorator for profiling rarely called functions
312  * Optimized adaptLayout()
313  * Added fast path for Widget.findChild(name=name). Roughly 10x faster
314
315  * Fixed an input problem when a dropdown box is clicked on (#337)
316  * Fixed pychan event_map to support callable objects (#374)
317  * Fixed the pychan demo (#363)
318  * Fixed a pychan problem where unkown characters were displayed when holding
319    the shift key (#383)
320  * Lots of bug fixes
321 
322=== Documentation ===
323  * Fixed some doxygen documentation problems (#343)
324  * Created python coding standards article (#372)
325  * Created "Bug Report" template (#409)
326 
327=== Misc ===
328  * New versioning scheme (x.y.z) instead of (yyyy.r)
329  * Moved extensions and fife.py to <FIFE>/engine/python/fife
330  * Moved rio_de_hola and pychan_demo to <FIFE>/demos
331  * Moved some misc scripts to <FIFE>/tools
332  * Moved the FIFE editor to <FIFE>/editor
333  * Added a Win32 installer for FIFE and the win32 SDK
334
335
336
337================================================================================
338== 2009.0 (January 7th, 2009)                                                 ==
339================================================================================
340
341=== Engine ===
342  * Merged input rework branch
343  * Possibility to hide instances/instance visuals
344  * Added input and focus events
345  * Modified clicklabel to provide a mouse listener for hover events
346  * Use strings as grouping in generic renderer instead of numbers
347  * Omission of a camera viewport in xml map files now indicate that the camera
348    should use the full window
349  * Added removeActionListener to SWIG export
350  * Some improvements to Scons build scripts
351  * Prepared basicapplication to use WindowTitle and WindowIcon from clients'
352    settings.py
353  * Logger now ignores non-existing log modules (warns to prompt)
354  * Pools now have a function called purgeLoadedResources which deletes all
355    loaded resources that have a reference count of zero.
356  * Movie: Switched to using FIFE::Image instead of Overlays
357  * Reworked matrix vector multiplication
358  * OpenAL-soft patch for OSS support
359
360Optimizations:
361  * Added hasing to pool to improve techdemo loading time
362  * Lazy loading for animations
363  * Combined events to reduce lag
364  * Small optimizations for instance renderer
365
366Bugs:
367  * Initialize instance visuals properly
368  * Fixed false positives when searching for instances in a rectangle
369  * Fixed a horrendous misconception in Pool. The map was sorted by pointer
370    comparison.
371  * Fix for textwrapping
372  * Fixed bug where instances couldn't change layer
373  * Fixed a small bug when initializing OpenGL
374  * Fixed a scons issue where libraries checked for C instead of C++
375  * Fixed a shutdown order problem
376  * Fixed segfault on shutdown when profiling was activated (#334)
377  * Fixed: Editors camera doesn't show map after saving (#333)
378  * Fixed: FIFE crashes with a segmentation fault (#297)
379
380=== Pychan ===
381  * Modified pychan to accept RGBA colors
382  * More documentation for layout system
383  * adaptLayout now acts a bit smarter
384  * Fix for scrollarea bug
385
386=== Rio de hola ===
387  * Improved some graphics and added some new ones
388  * Profiling support
389
390=== Editor ===
391  * Scrolling support
392  * Added an undo feature to the map-editor
393  * Object editor plugin
394  * Some bug fixes
395
396=== Documentation ===
397  * Updated the map format article to reflect the datasets changes (#323)
398
399=== Misc ===
400  * Removed old testmaps
401
402
403
404================================================================================
405== 2008.1 (July, 2008)                                                        ==
406================================================================================
407
408=== Model improvements & simplifications ===
409 * Elevations removed (Fallout legacy).
410 * Support for namespaces:
411  * New resource infrastructure migrated into whole engine. This enables:
412   * uniform pooling for all resources that need to be pooled.
413   * uniform loading for all resources (model stuff, images, sounds...).
414   * uniform saving for resources which support saving (model stuff).
415  * Datasets are now stored in a flat list in model instead of dataset
416    hierarchy.
417  * Changes in model are now bookkeeped. Observer interfaces provided for change
418    listeners.
419   * This enables e.g. reacting only to changes instead of polling on every
420     round.
421   * Also critical enabler for triggers.
422  * Instances now support initial rotation value.
423  * Objects support default actions.
424  * Further model cleanup.
425
426=== XML format changes ===
427 * All resources are now defined with principle 1 file / 1 resource.
428 * Importing of objects can now be done also based on directories where they are
429   contained.
430 * Relative paths are now used instead of absolute ones.
431
432=== Loaders ===
433 * All loading happens now from python (tinyxml dependency removed).
434 * Improved error reporting.
435
436=== Editor ===
437 * Possibility to move instances on map.
438 * Possibility to rotate instances on map.
439 * Possibility to zoom the map (OpenGL mode only).
440 * Painting with currently selected instance (e.g. large ground areas).
441 * Importing of multiple objects based on given directory.
442 * Initial map creation wizard (still work in progress).
443
444=== Rio de hola ===
445 * More assets:
446  * Graphics, sounds, music...
447  * Two new maps matching the storyline.
448  * Rio de hola now conforms to package structure:
449    http://wiki.fifengine.de/Fife_Package_Specification
450  * Popup menu integration, demonstration of actions (kick, talk).
451
452=== Pychan improvements ===
453 * Hiding of scrollbars.
454 * Text wrapping.
455 * A lot of smaller improvements.
456
457=== Functionality ===
458 * Pixel perfect instance picking (taking transparency into account).
459 * Ability to get list of instances from given screen rectangle.
460 * Distance calculations made easy, exposed to scripts.
461 * Instance outlining.
462 * Instance coloring.
463 * Screenshots are now saved in png format (instead of bmp).
464 * Stereo sound support in linux (introduced with the help of openal-soft).
465
466=== Video / view improvements ===
467 * Both renderbackend and separate images can now render graphical primitives
468   (e.g. lines, dots..).
469 * Each camera now has separate set of renderers. Allows truly adjusting cameras
470   independently.
471 * Zooming capability (currently properly supported only by OpenGL backend).
472 * Support for drag cursor definitions.
473 * OpenGL graphics chunking size is now definable in settings. Should help e.g.
474   with large backgrounds.
475 * GenericRenderer adding customised rendering capabilities for scripts.
476
477=== Misc. changes ===
478 * Initial package structure defined for FIFE clients.
479 * Updated guichan to the latest release 0.8.1.
480 * Usage of unittest++ instead of boost unittests.
481 * Lots of bug fixes.
482
483=== Non-code related changes ===
484 * Switch from GPL 2.0 to LGPL 2.1 (or newer).
Note: See TracBrowser for help on using the repository browser.