# HG changeset patch # User prock@33b003aa-7bff-0310-803a-e67f0ece8222 # Date 1288723870 0 # Node ID adb4b0e7c08c2a841d97403e13fd1a31c9ae0363 # Parent 9fba00d9cdd52e299f20fbdd40176f318e3ad7b5 * Added a bunch of changes to CHANGES. It should now be up to date * Added the FIFE ascii art header to INSTALL, and README * Updated README with some of the shooter demo info. TODO: update the "known issues" section. diff -r 9fba00d9cdd5 -r adb4b0e7c08c CHANGES --- a/CHANGES Sun Oct 31 13:16:16 2010 +0000 +++ b/CHANGES Tue Nov 02 18:51:10 2010 +0000 @@ -22,7 +22,7 @@ * Fixed an API inconsistency in SoundEmitter (#461) * There is no longer a memory leak when adding coloring overlays to instance (#472) - * instance.get2dGfsVisual().setVisible(False) now works as expected (#471) + * 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 @@ -43,7 +43,7 @@ * 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 20-30% under OpenGL + 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 @@ -55,6 +55,51 @@ 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 clearBackBuffer() function to the renderbackends (r3459) + * 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) @@ -77,6 +122,9 @@ * 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 @@ -90,6 +138,7 @@ * Renamed /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 diff -r 9fba00d9cdd5 -r adb4b0e7c08c INSTALL --- a/INSTALL Sun Oct 31 13:16:16 2010 +0000 +++ b/INSTALL Tue Nov 02 18:51:10 2010 +0000 @@ -1,3 +1,14 @@ + +__/\\\\\\\\\\\\\\\___/\\\\\\\\\\\___/\\\\\\\\\\\\\\\___/\\\\\\\\\\\\\\\_ + _\/\\\///////////___\/////\\\///___\/\\\///////////___\/\\\///////////__ + _\/\\\__________________\/\\\______\/\\\______________\/\\\_____________ + _\/\\\\\\\\\\\__________\/\\\______\/\\\\\\\\\\\______\/\\\\\\\\\\\_____ + _\/\\\///////___________\/\\\______\/\\\///////_______\/\\\///////______ + _\/\\\__________________\/\\\______\/\\\______________\/\\\_____________ + _\/\\\__________________\/\\\______\/\\\______________\/\\\_____________ + _\/\\\_______________/\\\\\\\\\\\__\/\\\______________\/\\\\\\\\\\\\\\\_ + _\///_______________\///////////___\///_______________\///////////////__ + == Building, Installing and Running FIFE == === Notes === @@ -62,4 +73,4 @@ * http://downloads.activestate.com/ActivePython/windows/2.6/ActivePython-2.6.4.8-win32-x86.msi (for 32bit Windows systems) * http://downloads.activestate.com/ActivePython/windows/2.6/ActivePython-2.6.4.8-win64-x64-nopywin32.msi (for 64bit Windows systems) -Move into the \demos\rio_de_hola directory and start the run.py script. You can simply double-click with your mouse on it. It should be automatically associated with the Python interpreter after installing ActivePython. \ No newline at end of file +Move into the \demos\rio_de_hola directory and start the run.py script. You can simply double-click with your mouse on it. It should be automatically associated with the Python interpreter after installing ActivePython. diff -r 9fba00d9cdd5 -r adb4b0e7c08c README --- a/README Sun Oct 31 13:16:16 2010 +0000 +++ b/README Tue Nov 02 18:51:10 2010 +0000 @@ -1,5 +1,16 @@ + +__/\\\\\\\\\\\\\\\___/\\\\\\\\\\\___/\\\\\\\\\\\\\\\___/\\\\\\\\\\\\\\\_ + _\/\\\///////////___\/////\\\///___\/\\\///////////___\/\\\///////////__ + _\/\\\__________________\/\\\______\/\\\______________\/\\\_____________ + _\/\\\\\\\\\\\__________\/\\\______\/\\\\\\\\\\\______\/\\\\\\\\\\\_____ + _\/\\\///////___________\/\\\______\/\\\///////_______\/\\\///////______ + _\/\\\__________________\/\\\______\/\\\______________\/\\\_____________ + _\/\\\__________________\/\\\______\/\\\______________\/\\\_____________ + _\/\\\_______________/\\\\\\\\\\\__\/\\\______________\/\\\\\\\\\\\\\\\_ + _\///_______________\///////////___\///_______________\///////////////__ + == Introduction == -Welcome to the FIFE v0.3.1 README. This snapshot is based on SVN revision XXXX. +Welcome to the FIFE v0.3.2 README. This snapshot is based on SVN revision XXXX. == Table of contents == 1 Features @@ -19,59 +30,73 @@ The source code (*.cpp, *.h & *.py) is licensed under LGPL 2.1 or newer: * http://www.gnu.org/licenses/lgpl-2.1.html -Content was taken from a lot a lot of different 3rd party sources. Therefore each client directory comes with a separate LICENSE file that states the origin of the content, the author and the actual license it was published under. +Content was taken from a lot a lot of different 3rd party sources. Therefore each +client directory comes with a separate LICENSE file that states the origin of the +content, the author and the actual license it was published under. == 3) FIFE Clients == === 3.1) Editor === +The editor tool can be found within the /tools/editor directory. You can +launch it by running 'run.py'. It is used to edit map files for the tech demo +(rio do hola). Other clients extend it and use it to edit their maps. -The editor tool can be found within the /tools/editor directory. You can launch it by running 'run.py'. It is used to edit map files for the tech demo (rio do hola). Other clients extend it and use it to edit their maps. === 3.2) Rio De Hola === +Rio de hola is a technology demo showing off many of the FIFE features. It is +located in the /demos/rio_de_hola directory and can be launched by running +run.py. It was at one time meant to be an example game but we have moved away +from that idea and it is now more of a technology demo and a playground for +developers to test their code. It does serve as a good starting point for people +wishing to play around with FIFE or base your game off of. -Rio de hola is a technology demo showing off many of the FIFE features. It is located in the /demos/rio_de_hola directory and can be launched by running run.py. It was at one time meant to be an example game but we have moved away from that idea and it is now more of a technology demo and a playground for developers to test their code. It does serve as a good starting point for people wishing to play around with FIFE or base your game off of. - -=== 3.3) PyChan Example === -Last but not least there is an example client residing in \demos\pychan_demo that shows how the pychan GUI library works. Start the GUI demo application by running pychan_test.py. +=== 3.3) Shooter Demo === +The Shooter demo was an attempt to show the versatility and flexibility of FIFE. +It is a simple side scrolling shooter that has a main menu, one level and an +end boss. Try your luck and see if you can defeat the boss! -=== 3.4) Configuring the Clients === -The engine utilizes special settings files for configuring FIFE. This file is called settings.py and resides in the same directory as the /clients//run.py scripts. You can customize FIFE by editing this file. +=== 3.4) PyChan Example === +Last but not least there is an example client residing in \demos\pychan_demo +that shows how the pychan GUI library works. Start the GUI demo application by +running pychan_test.py. + + +=== 3.5) Configuring the Clients === +The engine utilizes special settings files for configuring FIFE. This file is called +settings.py and resides in the same directory as the /clients//run.py +scripts. You can customize FIFE by editing this file. + == 4) Known issues == - * Building the debug version of _fife.pyd fails with mingw - * Win32 users tend to suffer from problems with the OpenAL drivers. If you don't hear sound while running a FIFE client, run oalinst.exe that ships with the Win32 FIFE Development Kit. This is the latest OpenAL driver for Win32. + * Cannot build a usable debug version of _fife_d.pyd with mingw + * Win32 users tend to suffer from problems with the OpenAL drivers. If you don't + hear sound while running a FIFE client, run oalinst.exe that ships with the + Win32 FIFE Development Kit. This is the latest OpenAL driver for Win32. * The unittests are broken on Win32 (if used in combination with scons & mingw). - * Segfault when closing via windowmanger (#407) - * VFS filename case issue (#418 and #380) - * SWIG wrappers don't handle simple output parameters (#340) - * Camera name clashes when opening maps with the same camera identifier (#342) - * Python.exe crashes when linked against the guichan debug libs in MSVC2008 (#357) - * Instance rotation problems (#361) - * Widgts are not properly resized when loaded from XML (#367) * Cannot show/hide child widgets in containers (#357) - * OpenGL leaves traces on screen after closing maps (#392) - * Freeze when setting text in a label (#408) - * VFS crashes when trying to enter a restricted path (#413) - * SDL renderer does not support colorkeying and png images (#146) - * UnitTests do not work when started with MSVS2005 (#352) * No non-renderable font image when a character is not found (#302) - * FIFE does not compile with vanilla libpng sources (#385) - * Guichan widgets do not correctly handle meta characters (shift, ctrl, alt, etc) (#412) + * Guichan widgets do not correctly handle meta characters (shift, ctrl, alt, + etc) (#412) * Cameras must be attached to layers and not maps as they should be (#305) * Map editor clobbers custom attribues in map file (#379) * Darwin users will not have UTF8 support if they install guichan from MacPorts. + == 5) Feedback == -We appreciate every kind of feedback concerning the release, the project in general and the bundled techdemo. Feedback is a great way to help us to improve FIFE. If you would like to get in contact with us and provide feedback you can either visit our IRC channel or our forums: +We appreciate every kind of feedback concerning the release, the project in general +and the bundled techdemo. Feedback is a great way to help us to improve FIFE. If you +would like to get in contact with us and provide feedback you can either visit our +IRC channel or our forums: * http://wiki.fifengine.de/index.php?title=IRC * http://forums.fifengine.de/index.php?board=5.0 + == 6) Closing Notes == Have fun with the release and let us know what you think about it! -- The FIFE team. http://www.fifengine.de/ -2010/01/20 \ No newline at end of file +2010/01/20