Mercurial > fife-parpg
view CHANGES @ 670:0ac1056c8253
* Some updates to CHANGES, INSTALL, and README
author | prock@33b003aa-7bff-0310-803a-e67f0ece8222 |
---|---|
date | Mon, 08 Nov 2010 22:07:47 +0000 |
parents | 3944096d12ce |
children | b5694699b40f |
line wrap: on
line source
__/\\\\\\\\\\\\\\\___/\\\\\\\\\\\___/\\\\\\\\\\\\\\\___/\\\\\\\\\\\\\\\_ _\/\\\///////////___\/////\\\///___\/\\\///////////___\/\\\///////////__ _\/\\\__________________\/\\\______\/\\\______________\/\\\_____________ _\/\\\\\\\\\\\__________\/\\\______\/\\\\\\\\\\\______\/\\\\\\\\\\\_____ _\/\\\///////___________\/\\\______\/\\\///////_______\/\\\///////______ _\/\\\__________________\/\\\______\/\\\______________\/\\\_____________ _\/\\\__________________\/\\\______\/\\\______________\/\\\_____________ _\/\\\_______________/\\\\\\\\\\\__\/\\\______________\/\\\\\\\\\\\\\\\_ _\///_______________\///////////___\///_______________\///////////////__ ================================================================================ == 0.3.2 (November 19th, 2010) == ================================================================================ === Engine === * Removed the Camreazone renderer * Added light support (OpenGL only) by merging the light branch. Speacial thanks to Helios for all his hard work in this area (#364) * Added a percentage bar widget (#411) * Modified some size_t definitions to more appropriate ones (#152) * Instance rotation changes are reported to the instance change listeners (#475) * Fixed the GenericRenderingNode to no longer cause a segfault (#446) * Fixed an API inconsistency in SoundEmitter (#461) * There is no longer a memory leak when adding coloring overlays to instance (#472) * instance.get2dGfxVisual().setVisible(False) now works as expected (#471) * Removed the last 0(n) loop through instances when rendering (#419) * Generic renderer now only renders objects on the specified layer (#458) * Fixed a memory leak when deleting maps. The camera was not being deleted * Removed the NotFound exceptions in layer.getInstance() and model.getObjects() to be more consistent with the rest of the API * Fixed a bug in RenderBackendSDL, the clip area was not properly set * Renamed the backquad and border commands of the FloatingTextRenderer * Added the TransparentArea commands to the InstanceRenderer * Improved InstanceRenderer::addTransparentArea. You can now pass a list of namespaces to be marked as transparent * Updated Instance to no longer derive from ResourceClass. It now derives from FifeClass directly * Improved the floatingtextrenderer. Now you can set an alpha value for font, background quad and border. Split quad and border into own commands * Added a triangle function to backend and genericrenderer, also added the functions to set an alpha value for geometric figures * floatingtextrenderer now can change colors of the font via setColor(uint r, uint b, uint g) * Added the colorbuffer patch with a small change due to SDL. Performance boost between under OpenGL * Improved the most renderers with setColor() function to allow the user to modify the color used to render the primitives * Fixed the genericrenderer. It is now tested whether the images are in the viewport * Fixed the gridrenderer to only render the grin within the viewport * Changed the vertex functions in opengl/renderbackendopengl.cpp from vertex3f() to vertex2f() * Moved the layer visibility and transparency, from instancerenderer.cpp to layercache.cpp and improved it (r3395) * Corrected the h,w calculation for zooming in layercache.cpp (r3369) * Fixed the bug, that x,y camera position result in an screen offset. (r3369) * GLImage now only creates one "texture chunk" (r3445, r3452) * Added nextPow2() math function (r3445) * Fixed color mask definitions and use them throughout the engine (r3445) * Moved the GLEnable and GLDisable structures to be globally accessible (r3445) * Templatized Rect to extend it's functionality beyond integers (r3447) * Added some typedefs: Rect, FloatRect, DoubleRect (r3447) * Removed the unused "trigger" system as it was unused (r3449) * Applied GreyGhosts patch to fife_settings. Allows the user to load the gui XML whenever they want. Also returns a reference to the dialog so it can be worked with outside of fife_settings. (r3451) * Removed unused files containing the unused GUIEventListener class (r3453) * Removed old and unused functions: set/getSourceWidget() (r3455) * Added drawRectangle() and fillRectangle() functions to the renderers (r3456) * Modified FIFE::FloatingTextRenderer? to use the new functions (r3456) * Updated some data types in FIFE::FloatingTextRenderer to use integer types defined in fife_stdint.h (r3456) * Added FIFE::DeviceCaps and FIFE::ScreenMode to detect valid screen modes * Added the ability to query the current running screen mode (r3467) * Added a method to detect the closest supported screen mode (not complete yet). If no matching screen modes are detected an exception is thrown. (r3467) * Small change to the way the screen is initialized. The screen mode now MUST be in the supported screen mode list before the screen will initialize. (r3467) * Added clearResourceLoaders() to the Pool class. This can be used if different resourceloaders have to be added at a later point in time (running editor for example, a plugin might want to have it's own loader added) (r3469) * Added the ability to normalize a 2D and 3D point (r3470) * You can now rotate a 2D point around the origin or a specific point (r3470) * Major improvements to fife_math.h and added corresponding Python bindings. Users now have access to FIFE's internal math functions. These functions are recommended to be used by all clients if required. Note: this may cause some problems with certain compilers. I hope this wont have to be reverted. TODO: remove the static constant globals somehow. (r3471) * Adopted the new math functions for all subsystems (r3471) * Added the ability to change screen modes on the fly. This works both in OpenGL and SDL modes. (#315) * Added IEngineChangeListener so the client can update the cameras viewport if the screen mode has been changed. I chose to do it this way because the engine has no way to know which camera it should update. It will be up to the client to do it. (#315) * The cursor surface is now correctly freed when exiting. (r3483) * Added DeviceCaps::getNearestScreenMode() for the client to request a supported screen mode. (#315) === Build System === * Removed libpng from ext (#385) * Debug is now automatically enabled when you build with profiling enabled (r3292) === Editor === * Re-arranged the ObjectEdit gui to avoid misunderstandings * Can now place instances (which are visible) on new maps again (r3392) === Extensions === * Added the SimpleXMLSerializer extension * Removed the XML portion out of fife_settings in favor of SimpleXMLSerializer * Made the serializer used in fife_settings "pluggable" * fife_settings widgets are now updated when the settings are reset to default * Can now specify the default settings filename instead of using settings-dist.xml * Fixed the write_instances function so it saves the stack position variable of instance visual when saving maps * Added getVolume() to the SoundManager * Added debug flag to loaders to enable/disable annoying print spam on maploading * BasicApplication now initializes pychan (r3388) * loaders extension can now handle multiple loaders for different filetypes. A difference between map and object files is now being made! (r3469) * Modified the sound manager to better take care of sound clips (r3476) === Docs === * Added some documentation to the filebrowser module === Pychan === * Timers are now handled correctly by pychan (#483) * Can now modify the step length for sliders (#482) * Built in pychan dialogs now work (r3384) === Demos === * Renamed <fife>/demos/pychan_demo/pychan_test.py to pychan_demo.py * Added a new pychan demo - gui animations * Added the Shooter demo * Made the dynamic widget test in the pychan_demo work/look a little better (r3484) === Misc === * Fixed some compiler warning messages * Added license information for the gimp icon ================================================================================ == 0.3.1 (March, 2010) == ================================================================================ === Engine === * Updated a lot of the python source files to have the correct headers * Fixed SWIG wrappers that didn't handle simple output parameters (#340) * Added color key support for both OpenGL and SDL renderer (#451, #146) * Changed the EventManager to use deque rather than vectors for storing listeners (#454) * Added the ability to prepend event listeners to the front of the listener list (#454) * Updated instance rotation values to be valid in all cases (#361) * VFS no longer crashes when entering a restricted path (#413) * Filename case is no longer transformed to be lower case (#418) * OpenGL renderer now clears the backbuffer correctly (#392) * Added the ability to render Vertexes (#455) * Camera names no longer clash when loading multiple maps (#342) * All layers are no longer activated when calling Camera::resetRenderers() (#457) * Word wrapping in a pychan label now works as expected (#408) * SWIG wrappers now handle all simple output parameters (#340) * Added ActionVisual::getActionImageAngles() * Added Cursor::getX() and Cursor::getY() === Build System === * FIFE now builds as expected on win32 using the FIFE dev kit * Win32 batch scripts no longer overwrite the users PATH variable (#429) * Requied DLLs are now installed as required on win32 (#430) * CXXFLAGS should now be honored * Fixed a problem with the dependency checks when using pkg-config on linux * Added OpenBSD support === Editor === * Can now re-load a map (#381) * Opening more than one map and then closing them no longer causes a crash (#441) * Undo/Redo works properly if you select different layers (#443) * Docked widgets no longer shrink when you click inside them (#444) * Object editor can now skip to first and last frames of an animation (#448) * Object editor sends some messages for the user to the editor status bar * Cleaned up object editor by adding preMapClosed and preMapShown events * Object editor now uses getActionImageAngles() to fetch animation angles * Object editor animation views should now work with all clients * Object offsets can now be saved to the object.xml file * Object offsets can now be manipulated by using the mousewheel * Added undo/redo support for the moving of instances === Extensions === * File Browser now refreshes correctly (#391) === Docs === * Fixed the Linux:Scons tutorial (#422) === Pychan === * Fixed a couple python import lines (#440) * Added Widget.requestFocus() === Rio De Hola === * Fixed the path to the AUTHORS file so the credits are displayed correctly === Misc === * Added color tester to pychan demo * Demos now look for a local copy of FIFE before importing the installed version of FIFE ================================================================================ == 0.3.0 (January 20th, 2010) == ================================================================================ === Engine === * Moved to Python 2.6 (#345) * Upgraded guichan in ext to 0.8.2 (#420) * Added UTF8 support * SCons build system has been re-written (#328) * Support for native mouse cursors * The background of Label widgets will be painted * Added adaptive pathfinding (#347) * Modified CellSelectionRenderer to support multiple cell selection * Added method Layer::getInstancesAt() * Added SoundEmitter::setCallback() * Added a setRolloff() function to the SoundEmitter class. * Added function to fife_utils: getUserDataDirectory. Returns the proper path to save setting and data files depending on OS. * Removed UnitTest++ from ext (#421) * Changed the way the fife python module is imported ( see http://wiki.fifengine.de/Importing_Python_Module ) * The serializers will use LogManager instead of printing directly to the console * GuiManager: Proper translation of Guichan key events to FIFE key events * Proper size calculation for ToggleButton * Fixed a layer visibility bug where the toggleInstancesVisible and setInstanceVisible functions were not working correctly. (#335) * Fixed building FIFE on OS X (#360) * Fixed setActionRuntime() (#373) * Fixed unreliable time handling when changing time factors. * Fixed a bug in the OpenGl renderer where the last chunk of images would not be displayed when image_height % chunk_size was 0. * Fixed layer and instance transparency (#378) * Fixed a lot of small bugs === Rio de hola === * Made rio_de_hola save its settings to the proper OS folder. * Added a prefix to cameras in Rio de Hola to avoid name clashes * Fixed second camera in rio so multiple Camera.setLocation calls are handled correctly * More documentation has been written === Editor === * Rewrote editor: - Improved GUI: - Resizable windows - Docking - Toolbars, menubar, statusbar - Model/View approach to toolbar and menubar buttons - New signal event system based on the one from django - Support for opening multiple maps - Better plugin support * New plugin: LayerTool * New plugin: LightEdit * New plugin: CameraEdit * Enhanced ObjectSelector * Enhanced ObjectEdit * New tool: ObjectPicker. Click on an instance on the map to set the current object to the instance object * Ability to select cells and perform actions on them (move, delete, fill, ...) * New type of scrolling: Press middle mouse button and move the mouse * New icons based on Bluesphere * Made the editor save its settings to the proper OS folder. * Fixed editor bug where the map didn't render after saving (#333) * Editor can now re-open a map (#381) * Fixed a problem navigating directory structure with the filebrowser (#377) * Filebrowser now refreshes when expected (#391) * Fixed a lot of bugs, and made a lot of new ones ;-) === PyChan === * New greedy layout engine: Widgets is now able to expand in addition to shrinking * New events: mouseWheelMovedUp and mouseWheelMovedDown * Added the position_technique attribute * Added Widget.removeAllChildren() method * Added a new method Widget.getNamedChildren * New method: Widget.insertChild() * New method: Widget.insertChildBefore() * New property: is_focusable * New properties: min_size, max_size * Moved helptext property from C++ to pychan * New togglebutton widget * ScrollArea: Size is not static anymore (can shrink and expand) * Allow objects with a call attribute to be used as event callbacks * Removed unused TimerListener * Switched to new content structure (#336) * Made the distribute and mapEvents methods faster * Added a small decorator for profiling rarely called functions * Optimized adaptLayout() * Added fast path for Widget.findChild(name=name). Roughly 10x faster * Fixed an input problem when a dropdown box is clicked on (#337) * Fixed pychan event_map to support callable objects (#374) * Fixed the pychan demo (#363) * Fixed a pychan problem where unkown characters were displayed when holding the shift key (#383) * Lots of bug fixes === Documentation === * Fixed some doxygen documentation problems (#343) * Created python coding standards article (#372) * Created "Bug Report" template (#409) === Misc === * New versioning scheme (x.y.z) instead of (yyyy.r) * Moved extensions and fife.py to <FIFE>/engine/python/fife * Moved rio_de_hola and pychan_demo to <FIFE>/demos * Moved some misc scripts to <FIFE>/tools * Moved the FIFE editor to <FIFE>/editor * Added a Win32 installer for FIFE and the win32 SDK ================================================================================ == 2009.0 (January 7th, 2009) == ================================================================================ === Engine === * Merged input rework branch * Possibility to hide instances/instance visuals * Added input and focus events * Modified clicklabel to provide a mouse listener for hover events * Use strings as grouping in generic renderer instead of numbers * Omission of a camera viewport in xml map files now indicate that the camera should use the full window * Added removeActionListener to SWIG export * Some improvements to Scons build scripts * Prepared basicapplication to use WindowTitle and WindowIcon from clients' settings.py * Logger now ignores non-existing log modules (warns to prompt) * Pools now have a function called purgeLoadedResources which deletes all loaded resources that have a reference count of zero. * Movie: Switched to using FIFE::Image instead of Overlays * Reworked matrix vector multiplication * OpenAL-soft patch for OSS support Optimizations: * Added hasing to pool to improve techdemo loading time * Lazy loading for animations * Combined events to reduce lag * Small optimizations for instance renderer Bugs: * Initialize instance visuals properly * Fixed false positives when searching for instances in a rectangle * Fixed a horrendous misconception in Pool. The map was sorted by pointer comparison. * Fix for textwrapping * Fixed bug where instances couldn't change layer * Fixed a small bug when initializing OpenGL * Fixed a scons issue where libraries checked for C instead of C++ * Fixed a shutdown order problem * Fixed segfault on shutdown when profiling was activated (#334) * Fixed: Editors camera doesn't show map after saving (#333) * Fixed: FIFE crashes with a segmentation fault (#297) === Pychan === * Modified pychan to accept RGBA colors * More documentation for layout system * adaptLayout now acts a bit smarter * Fix for scrollarea bug === Rio de hola === * Improved some graphics and added some new ones * Profiling support === Editor === * Scrolling support * Added an undo feature to the map-editor * Object editor plugin * Some bug fixes === Documentation === * Updated the map format article to reflect the datasets changes (#323) === Misc === * Removed old testmaps ================================================================================ == 2008.1 (July, 2008) == ================================================================================ === Model improvements & simplifications === * Elevations removed (Fallout legacy). * Support for namespaces: * New resource infrastructure migrated into whole engine. This enables: * uniform pooling for all resources that need to be pooled. * uniform loading for all resources (model stuff, images, sounds...). * uniform saving for resources which support saving (model stuff). * Datasets are now stored in a flat list in model instead of dataset hierarchy. * Changes in model are now bookkeeped. Observer interfaces provided for change listeners. * This enables e.g. reacting only to changes instead of polling on every round. * Also critical enabler for triggers. * Instances now support initial rotation value. * Objects support default actions. * Further model cleanup. === XML format changes === * All resources are now defined with principle 1 file / 1 resource. * Importing of objects can now be done also based on directories where they are contained. * Relative paths are now used instead of absolute ones. === Loaders === * All loading happens now from python (tinyxml dependency removed). * Improved error reporting. === Editor === * Possibility to move instances on map. * Possibility to rotate instances on map. * Possibility to zoom the map (OpenGL mode only). * Painting with currently selected instance (e.g. large ground areas). * Importing of multiple objects based on given directory. * Initial map creation wizard (still work in progress). === Rio de hola === * More assets: * Graphics, sounds, music... * Two new maps matching the storyline. * Rio de hola now conforms to package structure: http://wiki.fifengine.de/Fife_Package_Specification * Popup menu integration, demonstration of actions (kick, talk). === Pychan improvements === * Hiding of scrollbars. * Text wrapping. * A lot of smaller improvements. === Functionality === * Pixel perfect instance picking (taking transparency into account). * Ability to get list of instances from given screen rectangle. * Distance calculations made easy, exposed to scripts. * Instance outlining. * Instance coloring. * Screenshots are now saved in png format (instead of bmp). * Stereo sound support in linux (introduced with the help of openal-soft). === Video / view improvements === * Both renderbackend and separate images can now render graphical primitives (e.g. lines, dots..). * Each camera now has separate set of renderers. Allows truly adjusting cameras independently. * Zooming capability (currently properly supported only by OpenGL backend). * Support for drag cursor definitions. * OpenGL graphics chunking size is now definable in settings. Should help e.g. with large backgrounds. * GenericRenderer adding customised rendering capabilities for scripts. === Misc. changes === * Initial package structure defined for FIFE clients. * Updated guichan to the latest release 0.8.1. * Usage of unittest++ instead of boost unittests. * Lots of bug fixes. === Non-code related changes === * Switch from GPL 2.0 to LGPL 2.1 (or newer).